我想绘制一个包含三列高度5
,10
和20
的直方图。每列的宽度为1.因此,第一列的间隔5
的高度为[0,1]
,间隔为10
的第二列为[1,2]
,依此类推。
plt.hist([5, 10, 20], bins=range(0,4,1))
plt.show()
我做错了什么?
答案 0 :(得分:2)
hist
计算位于给定bin中的数据样本数,然后将结果频率显示为条形图。您实际上并不需要hist
,因为您已经拥有频率。您只需要bar
将这些频率显示为条形图。第一个输入指定每个条的左边缘位置,然后我们可以使用width
kwarg指定每个条的宽度。
import matplotlib.pyplot as plt
plt.bar([0, 1, 2], [5, 10, 20], width=1)