使用Plotly中的更新菜单重置缩放级别

时间:2019-07-02 14:14:04

标签: python plotly

我正在使用Plotly,并且想制作一个图表,因为我可以从下拉列表中选择不同的图表。当我放大并使用我创建的下拉菜单选择其他图形时,我希望图形重置缩放以适合新图形。

我制作了一个最小的工作示例,其中包含两个图表,以及一个下拉菜单以切换显示哪个图表。我希望这些图形一直缩放到原始视图(或适合当前数据),类似于在UI中按Plotly的“重置轴”按钮时所实现的效果。使用下拉菜单切换图表有效,但是我不知道如何重置缩放级别。我编写了以下代码,以在Jupyter笔记本中运行:

import plotly.offline as py
import plotly.graph_objs as go
import numpy as np
plotly.offline.init_notebook_mode(connected=True)

data1 = np.sin(0.01*np.arange(1000))
data2 = 3*np.cos(0.02*np.arange(1000))

def select_one_trace_mask(i, l):
  selection = [False] * l
  selection[i] = True
  return selection

def get_user_trace(data):
  return go.Scattergl(
    x = np.arange(len(data)),
    y = data,
    visible = True, 
    )


buttons = [{"label": "Show all", 
            "method": "update", 
            "args": [{"visible": [True, True], "yaxis.autorange": True, "xaxis.autorange": True}]}, 
           {"label": "Show SIN", 
            "method": "update", 
            "args": [{"visible": [True, False], "yaxis.autorange": True, "axis.autorange": True}]},
           {"label": "Show COS", 
            "method": "update", 
            "args": [{"visible": [False, True], "yaxis.autorange": True, "axis.autorange": True}]}      
          ]

updatemenus = list([
  dict(
    buttons=buttons
  )
])

layout = go.Layout(updatemenus = updatemenus, autosize = True)
data = [get_user_trace(d) for d in [data1, data2]]

fig = go.Figure(data=data, layout=layout)

py.iplot(fig, filename='jupyter-table1')

如何配置Plotly,以便在切换下拉菜单时重置缩放级别?

0 个答案:

没有答案