如何在Matplotlib中实现左右Y轴同刻度但不同标签?
问题:Matplotlib左侧Y轴自定义标签,右侧保留原始数值标签
我已经通过代码将左侧Y轴的数值转换为自定义标签(如图所示),现在希望在右侧Y轴保留原始数值标签。我尝试过axes.twinx(),但觉得单图场景下不适用,若有误请指正。刚接触Matplotlib,搞不清解决方案,求帮助!
代码如下:
import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as mticker fig = plt.figure() ax = df.groupby(['Id']).mean().boxplot(column='Ach_Num', by = 'Yr_Lvl_Cd', figsize=(14,10)) def update_ticks(x, pos): if x==5: return 'A' elif x==4.5: return '' elif x==4.0: return 'B' elif x==3.5: return '' elif x==3.0: return 'C' elif x==2.5: return '' elif x==2.0: return 'D' elif x==1.5: return '' elif x==1.0: return 'E' elif x==0.5: return '' elif x==0.0: return 'N' else: return x ax.yaxis.set_major_formatter(mticker.FuncFormatter(update_ticks)) plt.show()

内容的提问来源于stack exchange,提问作者uber_puni
相关产品推荐
相关产品推荐

