【发布时间】:2020-09-09 09:17:47
【问题描述】:
我正在使用 Matplotlib 为以下数据创建直方图:
df['overall'].value_counts():
5.0 108602
4.0 39974
3.0 21436
1.0 13269
2.0 11059
我使用了以下代码:
plt.hist(df['overall'])
plt.xlabel('Class')
plt.ylabel('Amount')
为什么我的 bin 会移位,有没有办法只显示 1.0、2.0、3.0、4.0、5.0 和上面的 bin?其次,我怎样才能得到总量和相对数量的数据标签?
非常感谢你:)
【问题讨论】:
-
matplotlib.org/3.3.1/api/_as_gen/matplotlib.pyplot.hist.html 应该有帮助,例如
align关键字。 -
您好 Maciek,感谢您的快速回放。 align='mid' 是默认参数,将其更改为 'left' 或 'right',并没有改变任何内容
-
当您的样本来自离散分布时,您需要设置明确的 bin,尤其是当不同值很少时。所以,
plt.hist(...., bins=np.arange(0.5, 6))会有些道理。 -
谢谢 JohanC。现在它看起来像我想要的样子。您能否告诉我如何获取每个 bin 的数据标签?我想显示确切的金额和百分比
标签: python matplotlib