Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plotly 如何随时间的变化更新地物的数据值_Plotly_Plotly Dash - Fatal编程技术网

Plotly 如何随时间的变化更新地物的数据值

Plotly 如何随时间的变化更新地物的数据值,plotly,plotly-dash,Plotly,Plotly Dash,我目前正在尝试绘制实时更新的密度热图。这是我定义的图形和应用程序布局 figure = dict({ "data" : [{"type": 'heatmap', "x" : [], "y" : []}], "layout" : {"xaxis" : [0,255], "yaxis" : [0

我目前正在尝试绘制实时更新的密度热图。这是我定义的图形和应用程序布局

figure = dict({
    "data" : [{"type": 'heatmap',
             "x" : [],
             "y" : []}],
    "layout" : {"xaxis" : [0,255], "yaxis" : [0,255]}
})
app.layout = html.Div(children=[
    html.Div([
        html.H1(children='Sensor Data'),

        html.Div(children='''
            3d Representation.
        '''),

        dcc.Graph(
            id='live-update-graph',
            figure = figure
        ),  
    ]),    
    dcc.Interval(
        id = 'clientside-time',
        interval = 10,
        n_intervals = 0
    )
])
这是一个回调函数,应该每次都更新数据

phase = [i for i in range(256)]
phases = []
cycle = []
phases = phase *5

cycle = [[i] *256 for i in range(5)]
cycle = list(chain.from_iterable(cycle))    

@app.callback(
    Output('live-update-graph', 'extendData'),
    Input('clientside-time', 'n_intervals')
)
def update_store_data(time):
    df = DataFrame(storage[256*time : (time+5) * 256], columns = ['Intensity'] )
    df['Phase'] = phases

    print(time)
    return dict(x = [df['Phase']], y = [df['Intensity']])
if __name__ == '__main__':
    app.run_server(debug=True)

在我的理论中,列表切片应该从上面初始化的存储列表中得到不同的部分。但是,我看不到运行此代码后绘制的任何图形。这是使用时间变化更新数据的正确方法吗?

根据您显示的代码进行实验,我认为图形显示不正确与您选择的
间隔值有关

当您将
interval
设置为
10
时,意味着回调将每隔
10
毫秒()触发一次,这非常短

当我使用一些虚拟数据测试代码时,增加
间隔
使数据出现在图表中

更新

您还使用了类型为
heatmap
的图形,但在回调中,您只返回
x
y
的值。因此,图形不会以任何方式显示,因为没有设置图形的所有必要尺寸



顺便说一句,如果你对1秒的刷新率不满意,你也可以使用。有关
extendData
和客户端回调的更多信息,请参见这个漂亮的答案。

您能否分享一个更完整的示例,以及代码的具体目标是什么?使用
时间
存储
访问元素的方式,如果让应用程序运行一段时间,你肯定会找到一个超出范围的索引。@BasvanderLinden我只是试图随着时间的推移绘制存储列表的不同部分。是的,我需要设置索引的最大限制。我能知道你在这方面试过的时间间隔吗?我把时间间隔改为1000,也就是1秒。我仍然没有得到任何图像…@Taki我再次查看了您的代码,我注意到现在您正在使用热图,热图除了需要
x
y
外,还需要
z
维度。