如何在双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
相关产品推荐
相关产品推荐

