Matplotlib 保存文件稍后将在 ipython 中重新编辑

Matplotlib save file to be reedited later in ipython

有没有办法保存 matplotlib 图的 'state' 以便我以后可以打开图并与之交互,例如在新的 ipython 笔记本会话中。

如果您想稍后编辑图形,绘制 pdf 和其他文件格式并不完全正确。

如果您想稍后对图形进行注释或重新缩放,这将很有用,但您不一定拥有对生成该图形的原始 script/data 的所有访问权限。

在 matlab 中,据报道 ipython 经常尝试以多种方式进行模拟,您可以简单地将文件保存为 .fig 甚至脚本,例如 .m ( matlab)文件!然后在以后的 matlab 会话中重新打开 .m.fig 并对其进行编辑。

这可以用 matplotlib 完成吗?

你可以像这样将图形 pickle 到磁盘

import matplotlib.pyplot as plt
import numpy as np
import pickle

# Plot
fig_object = plt.figure()
x = np.linspace(0,3*np.pi)
y = np.sin(x)
plt.plot(x,y)
# Save to disk
pickle.dump(fig_object,file('sinus.pickle','w'))

然后从磁盘加载并显示:

fig_object = pickle.load(open('sinus.pickle','rb'))
fig_object.show()