首页 > 解决方案 > 如何缓冲pyplot图

问题描述

TL;DR:我想做类似的事情

cache.append(fig.save_lines)
....
cache.load_into(fig)

我正在为基于 pyplot 和 matplotlib 的 MCMC 示例可视化库编写(QML)前端,并遇到了一个小障碍。我希望能够在后台生成和缓存图形,这样当用户移动一些滑块时,不会重新生成图形(重新计算它们既复杂又昂贵),而只是从缓存中引入。

为了做到这一点,我需要能够离线进行绘图(但不是渲染),然后简单地更改画布的内容。实际上我想做一些类似缓存的事情

line = plt.plot(x,y)

对象,但对于多个子图。

该库生成非常复杂的图,因此我无法跟踪line2D对象并使用它们。

我对解决方案的尝试:使用正确的 DPI 渲染到像素图并使用它。如果我调整画布大小并且不想重新缩放像素图,则会出现问题。我遇到过这样的情况,精彩的 SO 社区提出了比我想象的更好的解决方案,所以如果有人对如何获得这种行为有经验和/或想法,我将非常感激!

标签: pythonmatplotlibfigure

解决方案


推荐阅读