I would like to show the lines but with some are disabled. So just like when I show it normally and then click on its name to unshow/disable the line. I am using python.
Setting the visible
keyword argument of a trace to "legendonly"
makes a line behave in the way you describe.
The below code generates a figure with 10 lines, then sets visible
to legendonly
for lines 3 to 10. Clicking on legend makes them visible.
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.DataFrame({
f"line{i + 1}": np.random.uniform(i, i + 2, 100)
for i in range(10)
})
px.line(
df,
x=df.index,
y=df.columns
).update_traces(
visible="legendonly",
selector=lambda t: not t.name in ["line1", "line2"]
)