簡體   English   中英

從散點圖中將 hline 添加到現有的圖例條目

[英]Plotly add hline to existing legend entry from scatter plot

我有一個包含兩個或多個不同數據集的散點圖。 對於每個數據集,我還添加了它們的平均值。 我想將 hline 鏈接到相應數據集的圖例,這樣如果我取消選擇圖例中的數據集,hline 也會消失。

這在情節上可能嗎?

import pandas as pd
import plotly.graph_objects as go

df = pd.DataFrame({'x': [0, 1, 2],
                   'y1': [5, 4, 7],
                   'y2': [2, 3, 1]})
fig = go.Figure()

fig.add_trace(go.Scatter(
    x=df['x'],
    y=df['y1'],
    mode='markers',
    name='y1'
))

fig.add_trace(go.Scatter(
    x=df['x'],
    y=df['y2'],
    mode='markers',
    name='y2'
))

fig.add_hline(y=df['y1'].mean())
fig.add_hline(y=df['y2'].mean())

fig.show()

首先,它必須有圖形支持才能反映在圖例中。 所以我們使用散點圖的線模式畫一條線。 然后,設置一個圖例組來對散點圖和折線圖進行分組。 完成此操作后,您可以通過單擊來顯示或隱藏圖例。

第二張圖片是單擊以隱藏它的 y2 圖例的示例。

import pandas as pd
import plotly.graph_objects as go

df = pd.DataFrame({'x': [0, 1, 2],
                   'y1': [5, 4, 7],
                   'y2': [2, 3, 1]})
fig = go.Figure()

fig.add_trace(go.Scatter(
    x=df['x'],
    y=df['y1'],
    mode='markers',
    name='y1',
    legendgroup='1'
))

fig.add_trace(go.Scatter(
    x=df['x'],
    y=df['y2'],
    mode='markers',
    name='y2',
    legendgroup='2'

))

fig.add_trace(
    go.Scatter(
        mode='lines',
        x=df['x'],
        y=[df['y1'].mean()]*len(df),
        line_color='blue',
        legendgroup='1'
    )
)
             
fig.add_trace(
    go.Scatter(
        mode='lines',
        x=df['x'],
        y=[df['y2'].mean()]*len(df),
        line_color='red',
        legendgroup='2'
    )
)

fig.show()

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM