不能腌制或莳萝FigureCanvasQTAgg

时间:2019-02-05 18:58:36

标签: python python-3.x matplotlib pickle dill

我正在尝试将图形对象转储到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获得相同的结果。

1 个答案:

答案 0 :(得分:0)

根据Saving interactive Matplotlib figures

,您应该能够执行此操作

...但是这是实验性的,有缺点。如该答案所述,考虑保存到.SVG文件。