Python 绘制横穿条形图多条记录道的恒定红线

Python 绘制横穿条形图多条记录道的恒定红线,python,plotly,bar-chart,Python,Plotly,Bar Chart,我想在整个条形图上画一条不变的红线,表示平均值。这是一个MRE。因此,想象一下,每个图表都有一条红色虚线,横穿60度。但我不想让更多条线的图表像现在这样挤在一起。现在,红线将选项条挤在一起,这样红线可以穿过x1的整个长度,所以x2的输出看起来很糟糕 import plotly.graph_objects as go x1 = ['Alfred', 'Bob', "Cory", "Dave", "Eric", "Freddy&

我想在整个条形图上画一条不变的红线,表示平均值。这是一个MRE。因此,想象一下,每个图表都有一条红色虚线,横穿60度。但我不想让更多条线的图表像现在这样挤在一起。现在,红线将选项条挤在一起,这样红线可以穿过x1的整个长度,所以x2的输出看起来很糟糕

import plotly.graph_objects as go

x1 = ['Alfred', 'Bob', "Cory", "Dave", "Eric", "Freddy", "Gary"]
x2 = ['Annie', "Barbara"]

y1 = [20, 30, 25, 40, 50, 60, 85]
y2 = [50, 70]

average = 60

fig = go.Figure()

fig.add_trace(go.Bar(x=x1, y=y1))
fig.add_trace(go.Bar(x=x2, y=y2, visible=False))

fig.add_shape(
    type='line', line=dict(dash='dot', color='red'),
    x0=-1, x1=len(x1), y0=average, y1=average
)

fig.update_layout(
    updatemenus=[go.layout.Updatemenu(
        active=0,
        buttons=list([
            dict(label="1",
                 method="update",
                 args=[{'visible':[False,True]}]),
            dict(label="2",
                 method="update",
                 args=[{'visible':[True,False]}]),]))])

fig.update\u layout()


因为不同的下拉菜单有不同数量的条,所以是否可以在不让条聚集的情况下执行此操作?比如将x1的长度设置为从轨迹开始?我想你需要阅读文档,看看有没有办法做到这一点。
fig.add_shape(
    type='line', line=dict(dash='dot', color='red'),
    x0=-1, x1=len(x1), y0=average, y1=average
)