我正在尝试将图形对象转储到pickle文件中,并且使用Python 3.7.1时总是失败。
#python.version = 3.7.3
#pickle.format_version = '4.0'
#dill.__version__ = '0.2.9'
print(ax, type(ax))
print(matplotlib.get_backend())
print(matplotlib.__version__)
print(sys.version_info)
with open("MyFile", "wb") as dill_file:
dill.dump(ax, dill_file)
pt.savefig("MyFile_"+now)
结果是:
AxesSubplot(0.125,0.11;0.775x0.35)
<class'matplotlib.axes._subplots.AxesSubplot'>
Qt5Agg
3.0.2
sys.version_info(major=3, minor=7, micro=1, releaselevel='final', serial=0)
然后出现错误:
> 回调错误:无法腌制FigureCanvasQTAgg对象
上面的代码不在类中。我尝试了其他后端(Agg,TkAgg等),结果相同。我也尝试过仅使用pickle.dump
获得相同的结果。
答案 0 :(得分:0)
根据Saving interactive Matplotlib figures
,您应该能够执行此操作...但是这是实验性的,有缺点。如该答案所述,考虑保存到.SVG文件。