在外部Python 3模块中提高Matplotlib速度

在外部Python 3模块中提高Matplotlib速度,python,python-3.x,matplotlib,pyside,Python,Python 3.x,Matplotlib,Pyside,我有一个主要的Python3 PySide应用程序,它将数据发送到外部的.py Matplotlib绘图模块。外部模块使用接收到的数据生成绘图,将图形保存为字节数据,并将字节数据返回给主应用程序。然后,主应用程序使用QPixmap.loadFromData()在QPixmap中“显示”绘图 这完全按照计划工作,但刷新速度相当慢。我希望能够将QPixmap更新到60fps,但目前我管理的速度大约为3-4fps。我在这个问题上读到的资源配置仅涉及更新循环或简单内部函数中的图形,但没有演示如何保留打印

我有一个主要的Python3 PySide应用程序,它将数据发送到外部的.py Matplotlib绘图模块。外部模块使用接收到的数据生成绘图,将图形保存为字节数据,并将字节数据返回给主应用程序。然后,主应用程序使用QPixmap.loadFromData()在QPixmap中“显示”绘图

这完全按照计划工作,但刷新速度相当慢。我希望能够将QPixmap更新到60fps,但目前我管理的速度大约为3-4fps。我在这个问题上读到的资源配置仅涉及更新循环或简单内部函数中的图形,但没有演示如何保留打印轴、刻度和标签,以及仅更新外部模块中的打印点


如何提高外部Matplotlib绘图的刷新率?

在该配置中,Matplotlib似乎需要为每次数据更新重新绘制画布。根据我的经验,在这种情况下,~10fps可能是你能期望得到的最大速度。相反,如果您让PySide应用程序使用matplotlib绘制绘图并使用blitting,您可能会获得更高的速度。当然,一切都取决于数据量。但无论如何,使用matplotlib进行快速实时打印可能不是最好的主意。可能有兴趣。太好了,谢谢你的意见。鉴于我的配置,我想不出一个完全重画的方法,所以我要么将绘图功能合并到我的PySide应用程序中并使用blitting,要么将pyqtgraph作为替代方法。我会再次使用pyqtgraph。@three_Pinapples你能将pyqtgraph保存为字节数据吗,或者只能显示绘图或将其保存为图像?的文档不是很好,但是如果查看,可以看到有一个可以指定的
toBytes
关键字参数。因此,将文档中示例的最后一行更改为
plot\u bytes=exporter.export(toBytes=True)
应该可以满足您的要求。