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

如何在双Y轴的Python Plotly柱状图中添加对应不同Y轴的水平线?

双Y轴柱状图添加对应Y轴水平线的正确做法

我创建了一个包含两个不同Y轴的Graph Object柱状图,以便为每个类别绘制两种不同单位的指标。目前图表显示正常,代码如下:

fig = go.Figure(
    data=[
        go.Bar(name='Bar 1',
               x=category_x,
               y=measure_1,
               yaxis='y',
               offsetgroup=1),
        go.Bar(name='Bar 2',
               x=category_x,
               y=measure_2,
               yaxis='y2',
               offsetgroup=2)
    ]
)

现在我想要添加两条水平线,分别对应第一个Y轴和第二个Y轴的数值,但尝试使用fig.add_hline()方法时,两条线都基于第一个Y轴的数值显示,请问正确的做法是什么?


解决方案

使用add_hline()时,必须通过yaxis参数明确指定水平线绑定的目标Y轴,对应图表中定义的y(左侧主Y轴)和y2(右侧副Y轴):

  • 给第一个Y轴添加水平线:指定yaxis='y'
  • 给第二个Y轴添加水平线:指定yaxis='y2'

示例代码如下:

# 给左侧Y轴添加水平线,数值替换为你的目标值
fig.add_hline(y=目标y1值, yaxis='y', line_color='red', annotation_text='Y1基准线')

# 给右侧Y轴添加水平线,数值替换为你的目标值
fig.add_hline(y=目标y2值, yaxis='y2', line_color='blue', annotation_text='Y2基准线')

设置完成后,两条水平线就会分别对应各自绑定的Y轴刻度正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:25:18