微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何使用数据帧创建带有secondary_y的条形图

我想创建一个包含在Pandas数据帧中的两个系列(比如’A’和’B’)的条形图.如果我想用不同的y轴绘制它们,我可以使用secondary_y:

df = pd.DataFrame(np.random.uniform(size=10).reshape(5,2),columns=['A','B'])
df['A'] = df['A'] * 100
df.plot(secondary_y=['A'])

但是如果我想创建条形图,则会忽略等效命令(它不会在y轴上放置不同的比例),因此来自“A”的条形图很大,以至于无法区分“B”条形图:

df.plot(kind='bar',secondary_y=['A'])

我怎么能直接在熊猫中做到这一点?或者你会如何创建这样的图表?

我正在使用pandas 0.10.1和matplotlib 1.2.1版.

解决方法:

不要以为熊猫图表支持这一点.做了一些手动matplotlib代码..你可以进一步调整它

import pylab as pl
fig = pl.figure()
ax1 = pl.subplot(111,ylabel='A')
#ax2 = gcf().add_axes(ax1.get_position(), sharex=ax1, frameon=False, ylabel='axes2')
ax2 =ax1.twinx()
ax2.set_ylabel('B')
ax1.bar(df.index,df.A.values, width =0.4, color ='g', align = 'center')
ax2.bar(df.index,df.B.values, width = 0.4, color='r', align = 'edge')
ax1.legend(['A'], loc = 'upper left')
ax2.legend(['B'], loc = 'upper right')
fig.show()

我相信有办法迫使一个酒吧进一步调整它.将酒吧进一步分开,略微透明等

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐