我有一个看起来像这样的 pandas df
,Difference Max
0,12.0
1,1.0
2,-7.0
3,-5.0
4,2.0
5,3.0
6,10.0
7,0.0
8,0.0
9,3.0
10,3.0
从这个 df 我想绘制一个条形图/直方图,显示“最大差异”列中每个值的出现次数。我目前有这个条形图
使用以下代码:
df_maxdif['Difference Max'].value_counts().plot(kind='bar')
但我希望 x 轴的数字顺序为从最左侧的 -21 到最右侧的 10。我试过简单地绘制 kind = 'hist' 但这并不是我想要的。
最佳答案
链 value_counts()
与 sort_index
:
df_maxdif['Difference Max'].value_counts().sort_index().plot(kind='bar')
或者使用plt.hist
:
plt.hist(df['Difference Max'], bins=np.arange(-21,10))
输出(对于 plt.hist
):
关于python - 如何按数字顺序而不是基于 y 轴值绘制 pandas 条形图的 x 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63942111/