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"]
)

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With