我想创建一个包含在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 举报,一经查实,本站将立刻删除。