在python中,轴值未显示为数据帧中的值

在python中,轴值未显示为数据帧中的值,python,matplotlib,Python,Matplotlib,我希望Y轴在图形中,范围在Sum列中 total_by_year.plot(kind='bar' ,x='year',y='sum',rot=0, legend=False) plt.show() 数据帧输出: year sum 0 2010 42843534.38 1 2011 45349314.40 2 2012 35445927.76 3 2013 0.00 下面是我得到的图表: 我明白了 因此,您确实需要更改图形的轴格式。 也许你

我希望Y轴在图形中,范围在Sum列中

total_by_year.plot(kind='bar' ,x='year',y='sum',rot=0, legend=False)
plt.show()
数据帧输出:

   year          sum
0  2010  42843534.38
1  2011  45349314.40
2  2012  35445927.76
3  2013         0.00
下面是我得到的图表: 我明白了

因此,您确实需要更改图形的轴格式。 也许你能看到

或者你也可以这样做

total\u by\u year.绘图(kind='bar',x='year',y='sum',rot=0,legend=False,yticks=total\u by\u year[“sum”])

但这将是丑陋的。因此,我还建议您捕获ax并修改其格式。

您可以使用以下方法:

import matplotlib.pyplot as plt
import matplotlib

y = total_by_year['sum']
ax = total_by_year.plot(kind='bar' ,x='year',y='sum',rot=0, legend=False)
ax.yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter("%.2f"))
plt.yticks(y)
plt.show()


或者,如果只需要科学符号,请删除
plt.yticks(y)

,但y轴的范围与总和列的范围重合??“总和”列中的最大值为42843534.38,即~4.2e7。因此,该图形有什么不正确之处?@AmosEgel没有将y轴显示为0,1,2,3,而是将其显示为DataFrame中可能的重复项