Python 如何使用下拉菜单更新plotly图形标题?

Python 如何使用下拉菜单更新plotly图形标题?,python,plotly,plotly.graph-objects,Python,Plotly,Plotly.graph Objects,我希望plotly graph标题根据下拉列表中的选定值动态更改。 下面的代码可以很好地更新图形本身,但不会更改标题 我还尝试了{'layout\u title\u text':'title 1'}而不是{'layout':{'title':{'text':'title 1'}},但它也不起作用 pio.renderers.default = 'notebook' import plotly.graph_objects as go from plotly.subplots import

我希望plotly graph标题根据下拉列表中的选定值动态更改。 下面的代码可以很好地更新图形本身,但不会更改标题

我还尝试了
{'layout\u title\u text':'title 1'}
而不是
{'layout':{'title':{'text':'title 1'}}
,但它也不起作用

pio.renderers.default = 'notebook'
    
import plotly.graph_objects as go
from plotly.subplots import make_subplots

p = go.Figure()

y_values = ['label1', 'label2', 'label3']

x_values1 = [1,5,3]
x_values2 = [4,3,5]

p = p.add_trace(go.Bar(x = x_values1, y = y_values,
                   orientation='h' 
               ))

updatemenus = [{'buttons': [{'method': 'update',
                             'label': 'Values 1',
                             'args': [{'x': [x_values1]},
                                     {'layout':{'title': {'text': 'Title 1'}}}
                                       ]
                                      },
                            {'method': 'update',
                             'label': 'Values 2',
                             'args': [{'x': [x_values2]},
                                       {'layout':{'title': {'text': 'Title 2'}}}
                                     ]
                            }                         
                           ],
                'direction': 'down',
                'showactive': True}]

p = p.update_layout(template = 'plotly_white', 
                    updatemenus=updatemenus
                   )

p.show()

只需在设置中删除
'layout'={}

'args': [{'x': [x_values1]},
     {'title': {'text': 'Title 1'}}
       ]
      },
结果:

对于第二种选择:

完整代码:
import plotly.graph_objects as go
from plotly.subplots import make_subplots

p = go.Figure()

y_values = ['label1', 'label2', 'label3']

x_values1 = [1,5,3]
x_values2 = [4,3,5]

p = p.add_trace(go.Bar(x = x_values1, y = y_values,
                   orientation='h' 
               ))

updatemenus = [{'buttons': [{'method': 'update',
                             'label': 'Values 1',
                             'args': [{'x': [x_values1]},
                                     {'title': {'text': 'Title 1'}}
                                       ]
                                      },
                            {'method': 'update',
                             'label': 'Values 2',
                             'args': [{'x': [x_values2]},
                                       {'title': {'text': 'Title 2'}}
                                     ]
                            }                         
                           ],
                'direction': 'down',
                'showactive': True}]

p = p.update_layout(template = 'plotly_white', 
                    updatemenus=updatemenus
                   )

p.update_layout(title_text = 'Title 1')
p.show()