[英]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.