python数据流图_用Python&pyqtgraph在不同的图上绘制多个数据流的最佳实践

由于任务受CPU限制,而且您仍然在一个内核上运行(对于Python,默认情况下),多线程几乎没有什么用处。此外,PyQtGraph不能在多个线程中完成任何绘图:所有的工作都必须在主线程中完成(参见作者对类似主题here)的响应。因此,尽管多线程或多处理可以帮助您获取或处理数据,但它不能解决主要的瓶颈:在太小的空间中以太高的速率绘制过多的数据。在

解决方案?下采样。很方便,PyQtGraph有这个builtin。下面是一个示例(从PyQtGraph示例套件修改而来)。在import numpy as np

import pyqtgraph as pg

from PySide import QtGui, QtCore

win = pg.GraphicsWindow(title="Basic plotting examples")

win.resize(1000,600)

win.setWindowTitle('pyqtgraph example: Plotting')

# Enable antialiasing for prettier plots

pg.setConfigOptions(antialias=True)

p1 = win.addPlot(title="Downsampled")

# normally would plot 1000, but we downsample by 10 fold

p1.plot(np.random.normal(size=1000), pen=(255,0,0), name="Red curve", downsample=10)

p2 = win.addPlot(title="Normal")

p2.plot(np.random.normal(size=1000), pen=(0,0,255), name="Blue curve",)

## Start Qt event loop unless running in interactive mode or using pyside.

if __name__ == '__main__':

QtGui.QApplication.instance().exec_()

结果,我们在左边少了10倍的分数,使得性能更高。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值