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

如何在Matplotlib图表右侧添加对应红色水平线的Y轴刻度

如何在Matplotlib图表右侧添加对应红色水平线的Y轴刻度

嗨,我来帮你搞定这个需求!要给红色水平线在右侧Y轴添加对应的专属刻度,我们可以用Matplotlib的孪生轴功能,只保留我们需要的那个刻度,同时去掉多余元素,具体实现如下:

完整代码示例

import matplotlib.pyplot as plt

# 绘制原始折线图
plt.plot([2,3,4,5])
# 定义水平线的Y值,方便后续修改
red_line_y = 3.5
# 添加红色水平线
plt.axhline(y=red_line_y, color='r')

# 创建与原图表共享X轴的右侧孪生Y轴
ax_right = plt.gca().twinx()
# 设置右侧Y轴仅显示对应水平线的刻度
ax_right.set_yticks([red_line_y])
# 将右侧刻度颜色设置为红色,和水平线视觉统一
ax_right.tick_params(axis='y', colors='r')

# 可选:如果不需要右侧轴的边框,取消下面注释即可隐藏
# ax_right.spines['right'].set_visible(False)

plt.show()

关键步骤解释

  • 先把水平线的Y值单独存成变量red_line_y,后续要调整数值的话改这一处就行,更灵活。
  • plt.gca().twinx()会生成一个和当前图表共享X轴的右侧Y轴,这样不会影响原图表的Y轴显示。
  • set_yticks([red_line_y])指定右侧轴只显示我们需要的那个刻度,避免出现一堆无关的刻度。
  • tick_params把右侧刻度的颜色改成红色,和水平线对应起来,看的时候一眼就能关联上。
  • 如果觉得右侧轴的边框有点多余,可以取消注释里的代码把它隐藏掉,让图表更简洁。

这样操作后,右侧Y轴就会精准显示对应红色水平线的刻度啦,完全符合你的需求~

备注:内容来源于stack exchange,提问作者showkey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 13:09:29