#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
.
Мои вопросы:
- Есть ли способ обновления
fig
по поведению пользователя вupdatemenus
графическом интерфейсе? - Если нет, то есть ли простой способ программного выполнения данного
updatemenus
?
Заранее большое вам спасибо.
Комментарии:
1. по сути , updatemenus статичен (определяется во время создания фигуры). он не предлагает возможности обратного вызова. Если вам нужна такая возможность, вы можете использовать dash