You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:30:53