Python绘制实时数据

Python绘制实时数据,python,matplotlib,plotly,real-time,bokeh,Python,Matplotlib,Plotly,Real Time,Bokeh,我正在寻找一种从python绘制实时数据线图或散点图的方法 在使用科学计算算法进行实验时,我希望通过这些图来监控长时间运行的循环。也就是说,帮助我回答以下问题:我的结果是否仍在随着每次迭代而改善,或者我是否可以取消循环 我正在寻找一种快速而肮脏的方法。我看到,使用Bokeh和Dash,可以对仪表盘进行实时更新,但似乎需要大量样板代码才能获得更新图。以下是Bokeh v1.3.0的一个简单的“实时流媒体”示例。您可以使用bokeh-service-show app.py运行它 app.py: fr

我正在寻找一种从python绘制实时数据线图或散点图的方法

在使用科学计算算法进行实验时,我希望通过这些图来监控长时间运行的循环。也就是说,帮助我回答以下问题:我的结果是否仍在随着每次迭代而改善,或者我是否可以取消循环

我正在寻找一种快速而肮脏的方法。我看到,使用Bokeh和Dash,可以对仪表盘进行实时更新,但似乎需要大量样板代码才能获得更新图。

以下是Bokeh v1.3.0的一个简单的“实时流媒体”示例。您可以使用
bokeh-service-show app.py运行它

app.py:

from bokeh.plotting import figure, curdoc
from datetime import datetime
import random

plot = figure(plot_width = 1200, x_axis_type = 'datetime', tools = 'pan,box_select,crosshair,reset,save,wheel_zoom')
line = plot.line(x = 'time', y = 'value', line_color = 'black', source = dict(time = [datetime.now()], value = [random.randint(5, 10)]))

def update(): 
    line.data_source.stream(dict(time = [datetime.now()], value = [random.randint(5, 10)]))

curdoc().add_root(plot)
curdoc().add_periodic_callback(update, 1000)

试着做一个笔记本,试着用仪表板,这应该很简单。您可以在主线程中绘制绘图,并在单独的线程@inkааааааааа中更新它。谢谢。这使得仪表板,我真的不需要。当我的算法运行时,它似乎没有生成一个可以更新的绘图。也许我不知道如何正确使用它。有一个问题,它可能会帮助你我也在这样的实时仪表板工作,如果你能分享你的背景更新机制,这将是伟大的@非常感谢,这正是我想要的。如果你给我一个答案,我会接受的。谢谢你给我这个完整的例子。对我来说,数据将在交互式python会话中从循环中更新。似乎链接到bokeh需要一些进程间通信,这似乎有些过分。尽管如此,我还是要投票支持提供一个完整的示例。如果这是在笔记本中,则有
push_notebook
,或者您可以使用
AjaxDataSource
ServerSentDataSource
将数据推送到独立的Bokeh输出。另请参见添加另一个线程以处理数据的位置。看看这篇博克的文章