Этот код в графической документации для Slider Controls предполагает, что словарь {'visible':[True, False...]}
сопоставлен со списком данных, где True
означает «показывать этот индекс моего списка данных» и False
msgstr "скрыть этот индекс моего списка данных". Другими словами, у вас должно быть одно True / False на элемент данных.
В примере кода они изначально устанавливают visible
для каждого элемента в data
на False
data = [dict(
visible = False,
line=dict(color='#00CED1', width=6),
name = '? = '+str(step),
x = np.arange(0,10,0.01),
y = np.sin(step*np.arange(0,10,0.01))) for step in np.arange(0,5,0.1)]
Затем они переключают один на True
, поэтому некоторые данные отображаются при загрузке графика:
data[10]['visible'] = True
Затем, при определении шагов для ползунка, они сбрасывают аргумент visible
всех элементов данных на False
, а затем переключают i-й на True
:
steps = []
for i in range(len(data)):
step = dict(
method = 'restyle',
args = ['visible', [False] * len(data)],
)
step['args'][1][i] = True # Toggle i'th trace to "visible"
steps.append(step)
Когда на ползунке выбран i-й шаг, i-й элемент данных станет видимым.
В исходном примере этого вопроса мы бы хотели установить для всех visible
аргументов значение True
для кнопки Label:On
и все для False
для кнопки Label:Off
, чтобы вы могли написать :
'visible':[True] * len(pos)
'visible':[False] * len(pos)