I would like to add a horizontal line to the below charts so it will appear in the legend as well.
The goal is to allow to make the line appear\disappear per user choice by clicking on the legend. Any ideas?
import plotly.graph_objects as go
tips = px.data.tips()
fig = make_subplots(rows=2, cols=2, shared_xaxes=False, vertical_spacing=0.3,horizontal_spacing=0.05)
#Scatter plot
fig.append_trace(go.Scatter(
x=tips['total_bill'],
y=tips['tip'],
mode = 'markers',
marker=dict( size=7),
showlegend = True),
row=1, col=1)
#Box plot
fig.add_trace(go.Box(
y=tips['tip'],
x = tips['sex'],
boxpoints='all',jitter=0.5,whiskerwidth=0.2,marker_size=5,line_width=2),
row=1, col=2)
#Add horizontal lines
shapes = [
{'type': 'line','x0': 5,'y0': 5,
'x1': 50,'y1' : 5,'xref': 'x1',
'yref': 'y1','line': {'color': 'red','width': 4, 'dash':'dashdot'}},
{'type': 'line','x0': 'Female','y0': 5,
'x1': 'Male','y1' : 5,'xref': 'x2',
'yref': 'y2','line': {'color': 'red','width': 4, 'dash':'dashdot'}},
]
fig['layout'].update(shapes=shapes)
fig.show()
showlegend
to False in one plot. If you want to have it that one legend entry controls both subplots you need to use the legendgroup parametre. An example in R is given here: stackoverflow.com/a/46157158/11701819 . So not a full answer but a hint that might help :) – dschingchris