matplotlib set_major_formatter创建2个图

时间:2018-11-19 18:50:58

标签: python matplotlib

此代码节选将y轴标签的值从指数更改为数百万。问题是它创建了2个数字。第一个是没有图的x和y轴(x轴的比例也用于y轴),然后第二个图形正是我想要的。它是一个双条形图。 enter image description here enter image description here

我猜测这与使用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()

0 个答案:

没有答案