如何从多个跟踪中更新数据?

时间:2019-07-19 14:16:48

标签: python python-3.x plotly

我有一组希望在同一图中绘制的图形。每个图都对应一个go.Scatter对象。在绘图中,我试图使用go.Layout.updatemenus参数来构建一个下拉菜单,该菜单允许选择我要绘制的一对图形。

当我选择一个新的对时,我必须更新两个go.Scatter对象以及go.Layout对象中的数据。我尝试执行以下操作,但是没有用。

    trace1 = go.Scatter(
       x = x_data1,
       y = y_data1,
       name = name1,
       mode = 'markers',
       marker = dict(
           size = 2
       )
    )

    trace2 = go.Scatter(
       x = x_data1,
       y = y_data1,
       name = name2,
       mode = 'lines',
       line = dict(
           color = 'Red',
           width = 3
       )
    )

    buttons_list = []
    for key in dictio.keys():
        buttons_list.append(dict(
                            label=key,
                            method='update',
                            args=[{"x": dictio[key].xdata1,
                                   "y": dictio[key].ydata1,
                                   "name": key},
                                  {"x":dictio[key].xdata2,
                                   "y":dictio[key].ydata2},
                                  {"annotations": get_annotations(key)}
                            ]
                        )
        )
    updatemenus = list([
        dict(
            active=0,
            buttons=buttons_list,
            direction='down',
            x = 0.05,
            xanchor='left',
            y = 1,
            yanchor='top'
        )         
    ])

    layout = go.Layout(
        updatemenus = updatemenus,
        annotations = annotations,
    )

    fig = go.Figure(data=data, layout=layout)
    plot(fig, auto_open=True)

0 个答案:

没有答案