为什么单击下拉菜单选项会重置 x 范围?

Why clicking on dropdown menu option resets the x-range?

我正在玩 Plotly 以学习制作交互式图表和仪表板,但我遇到了一个我无法理解的关于下拉菜单功能的奇怪行为。

绘图与按钮一起正确显示。单击其中一个选项可以有效地更改绘图内容,但需要注意的是,范围将重置为数据集的默认值。作为示例,我将代码简化为最小表达式。

from plotly.subplots import make_subplots

buttons =  [  dict( method='update', label='b1', visible=True, args=[{'y':[[1,2,3]],   'type':'scatter'}] ),  
              dict( method='update', label='b2', visible=True, args=[{'y':[[30,20,10]],'type':'scatter'}] )]

fig = make_subplots()
fig.add_scatter(x=[2,4,6], y=[1,2,3]) \
    .update_xaxes(range=[-10, 10])\
    .update_layout(updatemenus=[{'buttons':buttons}])

执行这段代码returns x 轴范围在[-10,10] 内的绘图(正确)。但是,选择任何下拉选项时,X范围会将数据集的基本范围恢复为[2,6](不正确)。

我认为我对 button/layout 更新做错了,因为我也无法更改任何其他属性作为颜色,(例如,我尝试将 line_color : 'red' 添加到 args 列表, 没有效果), 所以我有点迷茫.

你知道我做错了什么吗?

我刚刚删除了绘图类型,现在轴没有重置,我在下面的代码中冻结了 x 轴和 y 轴

from plotly.subplots import make_subplots
buttons =  [  dict( method='update', label='b1', visible=True, args=[{'y':[1,2,3]}] ),  
              dict( method='update', label='b2', visible=True, args=[{'y':[30,20,10]}] )]
fig = make_subplots()
fig.add_scatter(x=[2,4,6], y=[1,2,3]) \
    .update_layout(updatemenus=[{'buttons':buttons}]) \
    .update_xaxes(range=[-10, 10]) \
    .update_yaxes(range=[0, 30])