Как выполнить updatemenus программно

#python #plotly

#питон #сюжетно

Вопрос:

Я сделал рисунок с выпадающим меню, используя updatemenus для обновления данных и макета, который работает в графическом интерфейсе. Я хотел бы знать, как программно выполнить меню обновления.

Вот простой пример.

 import plotly.graph_objects as go  x= [0,1,2] yA = [0,2,4] yB = [0,4,2]  fig = go.Figure() fig.add_traces(go.Scatter(x=x, y=yA)) fig.add_traces(go.Scatter(x=x, y=yB, visible=False)) fig.update_layout(yaxis_title='Axis A')  updatemenu = [dict(  active=0,  buttons=[  dict(  label='A',  method='update',  args=[  {'visible': [True, False]},  {'yaxis': {'title':'Axis A'}}  ]  ), dict(  label='B',  method='update',  args=[  {'visible': [False, True]},  {'yaxis': {'title':'Axis B'}}  ]  ), dict(  label='Both',  method='update',  args=[  {'visible': [True, True]},  {'yaxis': {'title':'Axis Both'}}  ]  )]  )]  fig.update_layout(  updatemenus=updatemenu ) fig.show()  

Переключение графического интерфейса выпадающего меню на рисунке успешно обновляет рисунок. Если я выберу «B» в графическом интерфейсе, fig.data[1]['visible'] это все равно False означает , что поведение пользователя в графическом интерфейсе не влияет fig .

Затем я попробовал вот это.

 fig.layout.updatemenus[0]['active'] = 1  

fig.data[1]['visible'] стоит неподвижно False .

Мои вопросы:

  1. Есть ли способ обновления fig по поведению пользователя в updatemenus графическом интерфейсе?
  2. Если нет, то есть ли простой способ программного выполнения данного updatemenus ?

Заранее большое вам спасибо.

Комментарии:

1. по сути , updatemenus статичен (определяется во время создания фигуры). он не предлагает возможности обратного вызова. Если вам нужна такая возможность, вы можете использовать dash