Вот репродуктивный пример, для которого мне отчаянно нужно найти хитрое решение. Использование 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)
Проблема заключается в том, что, когда я нажимаю на следы легенды, чтобы скрыть средний след от второго субплана, он не обновляется. Как сделать трюк? Как сделать так, чтобы оно обновлялось без события кнопки - просто нажатием на след в легенде? Я потратил весь день вчера, чтобы найти решение, и я думаю, что нет ничего кроме запуска события кнопки. Но даже с кнопкой я хотел бы знать, какие следы все еще видны - это может привести к гораздо более сложному графику, чем это должно быть.
Я собираюсь использовать его в сюжетной черте.