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() 我相信有办法迫使一个酒吧进一步调整它.将酒吧进一步分开,略微透明等 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |