使用给定的x和y值绘制直方图

时间:2015-09-12 17:24:23

标签: python histogram

我正在尝试绘制一个直方图,该直方图将每个x值与图上的y值对齐。我试图使用多种资源,但不幸的是我无法找到任何东西。这是我编写直方图的最好方法。

x = (1,2,3,4,5)
y = (1,2,3,4,5)

h=plt.hist(x,y)
plt.axis([0, 6, 0, 6])
plt.show()

我想要一张看起来像下图的图表,而不是x轴上的那些:

enter image description here

1 个答案:

答案 0 :(得分:10)

从你的情节和初始代码中,我可以得知你已经有2个向量x和y的bin和频率值。在这种情况下,您将只绘制这些值的条形图,而不是使用plt.hist命令的直方图。您可以执行以下操作:

import matplotlib.pyplot as plt

x = (1,2,3,4,5)
y = (1,2,3,4,5)

plt.bar(x,y,align='center') # A bar chart
plt.xlabel('Bins')
plt.ylabel('Frequency')
for i in range(len(y)):
    plt.hlines(y[i],0,x[i]) # Here you are drawing the horizontal lines
plt.show()

Bar chart with bins and values