如何绘制此图?

时间:2019-02-15 22:29:10

标签: python matplotlib plot data-visualization

嗨,数据可视化专家!

我正在尝试在python中绘制此图形手绘示例。

但是,与普通绘图相比,绘图似乎要困难得多。

如果可视化专家可以帮助您对此进行绘制,那将是非常不错的。在手绘图中,我将所有线条保留为红色,但是它们可以使用不同的颜色。

感谢您的回复:)

2 个答案:

答案 0 :(得分:0)

没有数据,我无法协助绘制它,但是您可以按照以下示例通过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

这实际上取决于您要从数据中强调什么

@EDIT

这是一个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认为是您要寻找的。这可能不是一个完美的解决方案,但我认为它展示了制作此类图的方法:)。如果此解决方案解决了您的问题,希望您可以单击我的帖子旁边的复选标记以接受它作为您所要的答案!

答案 1 :(得分:0)

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

img1