加速嵌入式matplotlib绘图

加速嵌入式matplotlib绘图,matplotlib,Matplotlib,我有一个相当复杂的qt4 gui,有许多matplotlib图,如图所示。每个图绘制一个通道的数据,共有12个通道。右侧的垂直滚动条可调整要打印的通道范围。问题是gui的工作相当缓慢。移动滚动条时,刷新绘图大约需要2秒钟。有没有办法加快速度 整个代码相当大,可以在这里发布。但我用的是 matplotlib.backends.backend_qt4agg作为后端,并使用canvas.draw()刷新每个绘图。谢谢 在图形右侧的+/-按钮之外,您是否需要让绘图具有交互性?我的意思是,可能需要这样一种

我有一个相当复杂的qt4 gui,有许多matplotlib图,如图所示。每个图绘制一个通道的数据,共有12个通道。右侧的垂直滚动条可调整要打印的通道范围。问题是gui的工作相当缓慢。移动滚动条时,刷新绘图大约需要2秒钟。有没有办法加快速度

整个代码相当大,可以在这里发布。但我用的是 matplotlib.backends.backend_qt4agg作为后端,并使用canvas.draw()刷新每个绘图。谢谢


在图形右侧的+/-按钮之外,您是否需要让绘图具有交互性?我的意思是,可能需要这样一种方法:可能适合您的应用程序?查看MplViewer类。它包括使用非GUI后端生成mpl图形,在QPixmap中转换图形,然后在QWidget上手动绘制。不过,您将失去GUI的交互功能,但仍然可以使用GUI中的外部按钮更改图形。谢谢您的示例。我不知道你说的互动是什么意思。对于python世界来说,这是非常新的。+/-按钮是放大/缩小按钮。我读到一些关于使用gtkagg这样的后端可以加快matplotlib的内容。它是相关的吗?所谓交互,我指的是用鼠标缩放和平移轴。也许,如果你能从你的代码中拿出一个最小的工作示例,比如一个图形,嵌入到一个滚动区域,使用通用数据,我可以从你的示例中提出一个解决方案。其他人肯定也会有其他更简单的解决方案。