这是一个繁殖示例,我非常需要找到一个棘手的解决方案。使用Python和Plotly:
import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np
import plotly.offline as pyo
# Many random traces
d = []
for i in range(0,10):
d.append(go.Scatter({'y': np.random.randint(0,10,10), 'x': np.array(range(0,11))}))
# One trace solving averages for above traces
t = np.array([i['y'] for i in d])
d2 = np.mean(a=t, axis=0)
trace2 = go.Scatter(x = np.array(range(0,11)), y = d2, xaxis='x2', yaxis='y2', name='averages')
data = d+[trace2]
layout = go.Layout(
xaxis1={'anchor': 'y1'},
yaxis1={'anchor': 'x1', 'domain': [0, .5]},
xaxis2={'anchor': 'y2'},
yaxis2={'anchor': 'x2', 'domain': [0.55, 1]}
)
fig = go.Figure(data=data, layout=layout)
pyo.plot(fig)
问题是,当我单击图例的迹线以隐藏第二个子图的平均迹线时,它没有更新。怎么做的把戏?如何在没有按钮事件的情况下进行更新-仅单击图例中的痕迹即可?我昨天花了一整天的时间来寻找解决方案,我想除了触发按钮事件外,没有别的了。但是,即使使用按钮,我也想知道哪些迹线仍然可见-这可能会导致情节变得更加复杂。
我将在plot-dash中使用它。