Как я могу обновить сюжетные сюжеты при смене трасс? - PullRequest
0 голосов
/ 15 января 2019

Вот репродуктивный пример, для которого мне отчаянно нужно найти хитрое решение. Использование 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)

Проблема заключается в том, что, когда я нажимаю на следы легенды, чтобы скрыть средний след от второго субплана, он не обновляется. Как сделать трюк? Как сделать так, чтобы оно обновлялось без события кнопки - просто нажатием на след в легенде? Я потратил весь день вчера, чтобы найти решение, и я думаю, что нет ничего кроме запуска события кнопки. Но даже с кнопкой я хотел бы знать, какие следы все еще видны - это может привести к гораздо более сложному графику, чем это должно быть.

Я собираюсь использовать его в сюжетной черте.

...