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

如何为Matplotlib绘图添加右侧Y轴自定义刻度与标签

实现方案

你只需要在原有代码的plt.show()前添加以下代码即可完成需求:

# 创建共享X轴的右侧Y轴对象
ax_right = plt.gca().twinx()
# 保持右侧Y轴范围和左侧完全一致,确保刻度位置对齐
ax_right.set_ylim(plt.gca().get_ylim())
# 仅在右侧Y轴5000位置添加标签为P的刻度
ax_right.set_yticks([5000], labels=["P"])

如果你使用的是3.4版本以下的Matplotlib,需要分开设置刻度和标签:

ax_right.set_yticks([5000])
ax_right.set_yticklabels(["P"])

完整修改后代码

ticks = [3500, 5000]
labels = ["\u0332P", "P\u0305"]

plt.title("Nilai Premi Optimal \n dengan Batasan")
plt.xlabel("$\it{Bargaining Power}$ \u03BB")

plt.plot(xlamda, PsiBLamda, color = "red",linestyle='dashed',label = "$\u03C8_{B} (I^*(X))$")
plt.plot(xlamda, PsiSLamda, color = "blue",linestyle='dashed', label = "$\u03C8_{S} (I^*(X))$")
plt.legend(loc="upper left")
plt.plot(xlamda, PLamda, color = "black")
plt.xlim([0, 1])
plt.ylim([3500, 7000])

# 新增代码开始
ax_right = plt.gca().twinx()
ax_right.set_ylim(plt.gca().get_ylim())
ax_right.set_yticks([5000], labels=["P"])
# 新增代码结束

plt.show()

实现逻辑说明:twinx()方法会创建和当前图表共享X轴的右侧独立Y轴,我们将其Y轴范围设置为和左侧Y轴完全一致,保证5000的刻度位置和左侧对齐,仅保留指定位置的P标签,不会影响原有图表的任何展示效果。

内容的提问来源于stack exchange,提问作者Serr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:15:08