怎么画这个图?

2024-05-20 17:33:06 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,数据可视化专家!你知道吗

我试图用python绘制这个手工绘制的示例。你知道吗

然而,与普通的情节相比,这似乎要复杂得多。你知道吗

如果一个可视化专家能帮助绘制这个图,那就太好了。在手绘的图形中,我把所有的线条都保持为红色,但是它们可以有不同的颜色。你知道吗

感谢您的回复:)


Tags: 数据图形示例颜色可视化绘制线条手工
2条回答

这样设置数据,然后在为条形图选择范围后,需要交换X轴和Y轴:

img1

如果没有这些数据,我无法帮助绘制它,但是您可以通过Python通过以下示例来解决它:

https://matplotlib.org/gallery/units/bar_demo2.html?highlight=bar

^您可以将每个条形图放在单独的子图上?你知道吗

如果您的输入是多组数据,您可以随时查看多数据集直方图

https://matplotlib.org/gallery/statistics/histogram_multihist.html?highlight=hist

^如果要使所有类别的第一列彼此相邻,则第二列以此类推。。你知道吗

也许你更喜欢标准的直方图:

https://matplotlib.org/gallery/statistics/histogram_features.html?highlight=hist

这实际上取决于你想从你的数据中强调什么

@编辑

这里有一个Python程序来绘制你的信息!您可以很容易地调整宽度(我注释出了一种设置宽度以覆盖空白间隙的方法,但有点不合适)并绘制一条线,我将使用width = 0.01

import matplotlib.pyplot as plt
import numpy as np

data = {0: [4, 8, 6],
        1: [2, 4, 3, 6],
        2: [3, 6],
        3: [10, 3, 8, 6, 10, 12]}

fig, ax = plt.subplots(tight_layout=True)

for key, values in data.items():
    ind = np.arange(key, key + 1, 1/len(data[key]))
    width = 0.1 # 1/len(data[key])
    ax.bar(ind + width/len(values), data[key], width, align='center', label="Category {}".format(key + 1))

ax.xaxis.set_ticks([])
ax.set_xticklabels(' ')
ax.legend()
ax.set_ylabel('Some vertical label')
plt.title('My plot for Stack Overflow')
plt.show()

这将输出: category bar chart 我想这就是你要找的。这可能不是一个完美的解决方案,但我认为它展示了用于绘制此类图的方法:)。如果这个解决方案解决了你的问题,我会很感激如果你能点击我的帖子复选标记接受它作为你正在寻找的答案!你知道吗

相关问题 更多 >