Python Matplotlib 如何调整次Y轴范围且不改变原有柱状图显示
次Y轴范围与刻度调整实现方案
你只需额外获取次Y轴实例后调用对应配置方法即可,全程不会修改柱状图的显示效果。
修改后完整代码
import matplotlib.pyplot as plt import pandas as pd width=.5 t=pd.DataFrame({'bars':[3.4,3.1,5.1,5.1,3.8,4.2,5.2,4.0,3.6],'lines':[2.4,2.2,2.4,2.1,2.0,2.1,1.9,1.8,1.9]}) t['bars'].plot(kind='bar',width=width) t['lines'].plot(secondary_y=True, color='red') ax=plt.gca() plt.xlim([-width,len(t['bars'])-width]) ax.set_xticklabels(('1','2','3','4','5','6','7','8','9')) # 新增次Y轴配置代码 ax2 = ax.right_ax ax2.set_ylim(0.0, 2.5) ax2.set_yticks([0, 0.5, 1.0, 1.5, 2.0, 2.5]) plt.show()
配置说明
- 调用
ax.right_ax即可获取右侧次Y轴的实例,该操作不会修改左侧主Y轴关联的柱状图任何配置 set_ylim(0.0, 2.5)直接指定次Y轴的显示范围,覆盖默认的自动适配范围set_yticks()手动传入刻度值列表,即可实现0.5的固定步长效果
内容的提问来源于stack exchange,提问作者Cole
相关产品推荐
相关产品推荐

