首页 > 解决方案 > 调用show后如何将matplotlib图形保存为pickle文件?

问题描述

我正在尝试将使用 matplotlib 创建的图形保存为 pickle(不确定其他文件格式是否可以使用)文件,以便我可以重新打开该图形并根据需要进行进一步修改。但是,我想在保存之前查看情节。我发现了类似的查询:1.将 python matplotlib 图形保存为 pickle,2.将绘图保存到图像文件而不是使用 Matplotlib 显示它,3. python matplotlib 将图形保存为数据文件,4 .保存交互式 Matplotlib 图形

但是,他们都没有在保存或谈论之前调用 show() 。

这是代码:

import matplotlib.pyplot as plt
import pickle

fig, ax =  plt.subplots()
ax.plot(list(range(1, 100, 10)), 'bo-')
plt.show() # enabling this does not save anything with pickle

# save the mpl figure as pickle format
with open('fig1.pkl', 'wb') as fs:
    pickle.dump(ax, fs)
plt.close("all")

# load the saved figure as mpl figure
with open('fig1.pkl', 'rb') as fl:
    fig1 = pickle.load(fl)

plt.show()

如果我在第一种情况下不调用 show(),它工作得很好。但是如果我打电话,保存似乎不适用于泡菜。使用其他格式 (.png/.pdf) 保存效果很好。如果我犯了任何错误,任何迹象都将不胜感激。

标签: python-3.xmatplotlibsavepickle

解决方案


推荐阅读