加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:27:19 所属栏目:Python 来源:网络整理
导读:我想创建一个包含在Pandas数据帧中的两个系列(比如’A’和’B’)的条形图.如果我想用不同的y轴绘制它们,我可以使用secondary_y: df = pd.DataFrame(np.random.uniform(size=10).reshape(5,2),columns=['A','B'])df['A'] = df['A'] * 100df.plot(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()

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读