【问题标题】:Plotly:使用辅助 y 轴进行注释
【发布时间】:2020-11-01 00:11:23
【问题描述】:

我收到了expamle from plotly。并对其进行了修改,以便第二条轨迹绘制在 secondary_y 轴上。我想使用辅助轴作为参考来注释该线上的一个点。

代码如下:

import plotly.graph_objects as go

fig = make_subplots(specs=[[{"secondary_y": True}]])

fig.add_trace(go.Scatter(
   x=[0, 1, 2, 3, 4, 5, 6, 7, 8],
   y=[0, 11, 31, 21, 41, 31, 41, 61, 51]
))

fig.add_trace(go.Scatter(
   x=[0, 1, 2, 3, 4, 5, 6, 7, 8],
   y=[0, 4, 5, 1, 2, 2, 3, 4, 2]
), secondary_y=True)

fig.add_annotation(
       x=2,
       y=5,
       xref="x",
       yref="y",
       text="max=5",
       showarrow=True,
       font=dict(
           family="Courier New, monospace",
           size=16,
           color="#ffffff"
           ),
       align="center",
       arrowhead=2,
       arrowsize=1,
       arrowwidth=2,
       arrowcolor="#636363",
       ax=20,
       ay=-30,
       bordercolor="#c7c7c7",
       borderwidth=2,
       borderpad=4,
       bgcolor="#ff7f0e",
       opacity=0.8
       )

fig.update_layout()

这样就出来了,注解应该在第二行。

【问题讨论】:

    标签: python plotly


    【解决方案1】:

    您只需将yref="y" 中的yref="y2" 替换为fig.add_annotation()

    import plotly.graph_objects as go
    from plotly.subplots import make_subplots
    
    fig = make_subplots(specs=[[{"secondary_y": True}]])
    
    fig.add_trace(go.Scatter(
       x=[0, 1, 2, 3, 4, 5, 6, 7, 8],
       y=[0, 11, 31, 21, 41, 31, 41, 61, 51]
    ))
    
    fig.add_trace(go.Scatter(
       x=[0, 1, 2, 3, 4, 5, 6, 7, 8],
       y=[0, 4, 5, 1, 2, 2, 3, 4, 2]
    ), secondary_y=True)
    
    fig.add_annotation(
           x=2,
           y=5,
           xref="x",
           yref="y2",
           text="max=5",
           showarrow=True,
           font=dict(
               family="Courier New, monospace",
               size=16,
               color="#ffffff"
               ),
           align="center",
           arrowhead=2,
           arrowsize=1,
           arrowwidth=2,
           arrowcolor="#636363",
           ax=20,
           ay=-30,
           bordercolor="#c7c7c7",
           borderwidth=2,
           borderpad=4,
           bgcolor="#ff7f0e",
           opacity=0.8
           )
    
    fig.show()
    

    【讨论】:

      猜你喜欢
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2020-03-28
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多