Python 图表matplotlib以显示直方图存储箱中的总计数

Python 图表matplotlib以显示直方图存储箱中的总计数,python,matplotlib,Python,Matplotlib,我试图显示一个直方图。下面的数组是直方图中每个单独箱子的计数 binVals = [0,5531608,6475325,1311915,223000,609638,291151,449434,1398731,2516755,3035532,2976924,2695079,1822865,1347155,304911,3562,157,5,0,0,0,0,0,0,0,0,0] 我该怎么做呢?我尝试使用此代码 import matplotlib.pyplot as plt binVals = [0

我试图显示一个直方图。下面的数组是直方图中每个单独箱子的计数

binVals = [0,5531608,6475325,1311915,223000,609638,291151,449434,1398731,2516755,3035532,2976924,2695079,1822865,1347155,304911,3562,157,5,0,0,0,0,0,0,0,0,0]
我该怎么做呢?我尝试使用此代码

import matplotlib.pyplot as plt
binVals = [0,5531608,6475325,1311915,223000,609638,291151,449434,1398731,2516755,3035532,2976924,2695079,1822865,1347155,304911,3562,157,5,0,0,0,0,0,0,0,0,0]
plt.hist(binVals, bins=len(binVals), color='r', alpha=0.5, label='Values')
plt.title("Demo Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.legend()
plt.show()
这将返回与此类似的图像

但这是关闭的,因为在
binVals
中,存储箱0和19到27的计数为零。上图中的零值不在我期望的位置

我期待着类似的事情

如何修改代码以获得这种类型的结果


作为一个额外的问题,在预期图的底部有很好标记的箱子。这可以用matlibplot实现吗

我认为你策划错了。Matplotlib将计算直方图本身。现在,它将显示您有14个值介于0和250000之间的箱子,3个值介于250000和500000之间的箱子。如果您自己计算直方图,请使用bar()绘图,或者让Matplotlib为您计算直方图


对于刻度标签,使用
设置刻度标签([“低于600”、“600-700”、…],旋转=“垂直”)


(我将这些评论作为回答,因此可以将其标记为已回答)

我认为你策划了错误的事情。Matplotlib将计算直方图本身。它现在打印出您有14个值介于0和250000之间的箱子,3个值介于250000和500000之间的箱子等。如果您自己计算直方图,请使用bar()打印,或让Matplotlib为您计算直方图。对于刻度标签,请使用
设置刻度标签([“低于600”,“600-700”,“…]”,rotation=“vertical”)