【问题标题】:Python Plotly - Multiple YAXIS Legends Layout [duplicate]Python Plotly - 多个 YAXIS 图例布局
【发布时间】:2021-04-22 13:56:07
【问题描述】:

我正在尝试使用以下代码在同一个图上构建 2 个叠加图、一个条形图和一个趋势线:

data = []

for __brand in df_cumsum['brand'].unique():

    data.append(go.Scatter(
        x=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['day'],
        y=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['ecpm_cum'],
        name=__brand,
        yaxis='y1'
    ))

    data.append(go.Bar(
        x=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['day'],
        y=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['impressions_cum'],
        name=__brand,
        yaxis='y2',
        opacity=0.3
    ))

figure = {'data': data,
          'layout': {'title': 'Delivery Performance Over Test Period (Days)',
                     'yaxis': {'title': 'Cumulative eCPM (USD)'},
                     'yaxis2': {'title': 'Cumulative Delivery (Impressions)', 'side': 'right', 'overlaying': 'y'}}}

因此,我有类似上面的东西,其中左 y 轴和右 y 轴的两个图例混合在一起。

有谁知道我怎样才能把每一个放在相关的一边?左边的左 y 轴的图例和右边的右 y 轴的图例?提前致谢!

【问题讨论】:

    标签: python layout plotly plotly-dash yaxis


    【解决方案1】:

    很遗憾,Plotly doesn't support multiple legends。这是一个悬而未决的问题。

    您可以从您现在拥有的一个图例中隐藏左侧图例项,然后使用带有线趋势变量名称文本的矩形注释框从头开始构建左侧图例。然而,在这种情况下,图例实际上并没有任何切换功能,只会用作显示变量名称的框。

    【讨论】:

    • 非常彻底的回答谢谢!希望他们能尽快实现该功能,它可以用于更复杂的可视化!
    猜你喜欢
    • 2016-04-10
    • 2021-12-16
    • 2019-04-29
    • 2020-11-07
    • 2020-08-24
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多