在现有图形中绘制附加数据框会放大x_lim

2024-03-29 06:35:26 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试在现有轴中添加一个额外的绘图时,x_lim会发生变化。你知道怎么解决这个问题吗

df1=pd.DataFrame({'Number':[1486092,1401266,905820,469867,70639]}, index =['rank1', 'rank2', 'rank3', 'rank4', 'rank5'])
df2=pd.DataFrame({'Total':[1886092,1701266,1205820,909867,90639]}, index =['rank1', 'rank2', 'rank3', 'rank4', 'rank5'])
ax1 = df1.plot.bar(figsize=(19,9))

给了我第一个我想保留的x_lim图。当我绘制第二个数据帧时:

df2.plot(ax=ax1,style='bx',marker='D',markersize=6)

x_lim改变了

plot image


Tags: 绘图numberdataframeindexplotpddf1df2
1条回答
网友
1楼 · 发布于 2024-03-29 06:35:26

这是因为默认情况下df.plot()使用lineplot,这会更改xlim。解决方案之一是在您的案例中修复xlim

df1=pd.DataFrame({'Number':[1486092,1401266,905820,469867,70639]}, index =['rank1', 'rank2', 'rank3', 'rank4', 'rank5'])
df2=pd.DataFrame({'Total':[1886092,1701266,1205820,909867,90639]}, index =['rank1', 'rank2', 'rank3', 'rank4', 'rank5'])

ax1 = df1.plot.bar(figsize=(9.5,4.5))
xlim = ax1.get_xlim() # records the x_lim

df2.plot(ax=ax1,style='bx',marker='D',markersize=6)
ax1.set_xlim(xlim) # set the x_lim with the recorded one

相关问题 更多 >