说我有一个仓边数组和一个仓值数组。 (基本上是plt.hist
的输出)。例如:绘制给定仓端点和值的直方图
bins = np.array([1, 2, 3, 4, 5])
vals = np.array([2, 5, 5, 2])
我该如何绘制直方图?
编辑:为清楚起见,我的意思是丘壑是每个bin,其中LEN(瓦尔斯)+ 1 = LEN(箱)
说我有一个仓边数组和一个仓值数组。 (基本上是plt.hist
的输出)。例如:绘制给定仓端点和值的直方图
bins = np.array([1, 2, 3, 4, 5])
vals = np.array([2, 5, 5, 2])
我该如何绘制直方图?
编辑:为清楚起见,我的意思是丘壑是每个bin,其中LEN(瓦尔斯)+ 1 = LEN(箱)
您可以使用bar情节:
bins = np.array([1, 2, 3, 4, 5])
vals = np.array([2, 5, 5, 2])
plt.bar((bins[1:] + bins[:-1]) * .5, vals, width=(bins[1] - bins[0]))
plt.show()
诀窍是使用您的“边缘”的中点(bins[1:] + bins[:-1]) * .5
,并将宽度设置为(bins[1] - bins[0])
明白你的整个直方图都有不变的宽度。
这是不正确的,因为它会产生一个使用'vals'作为输入'x'值的直方图,而不是OP请求的bin bar的实际高度。 – Gabriel
你是对的@加布里埃尔。我错误地理解OP想要从这些值生成直方图。我更新了答案以对应问题的答案。我从另一个答案中添加了一个不同的选项。不幸的是,它只适用于'python 3.5'。 –