此代码节选将y轴标签的值从指数更改为数百万。问题是它创建了2个数字。第一个是没有图的x和y轴(x轴的比例也用于y轴),然后第二个图形正是我想要的。它是一个双条形图。
我猜测这与使用f.plot.bar而不是plt.bar有关,但是我不确定。我只是想摆脱第一个数字,否则一切都会好起来的。
from matplotlib.ticker import FuncFormatter
def millions(x, pos):
'The two args are the value and tick position'
return '%1.1fM' % (x*1e-6)
formatter = FuncFormatter(millions)
fig, ax = plt.subplots()
ax = tempg.plot.bar(y=['Republican2016Votes', 'Democrat2016Votes'], rot=0,
color = ['DarkRed','Blue'])
ax.yaxis.set_major_formatter(formatter)
plt.show()