我有一个使用 matplotlib 创建绘图的程序 - 有时是线图,有时是 NonUniformImages。我希望能够腌制这些情节以便稍后重新打开它们,而无需再次经历整个创建过程。无论出于何种原因,它一直在抛出一个PicklingError: Can't pickle 'RendererAgg' object
. 我试过同时使用import dill as pickle
和import pickle
,以及所有 4 种不同的酸洗选项,但没有改变。
轴在此处定义:
class Imaging:
def function:
ax1 = plt.subplot(2,1,1)
ax2 = plt.subplot(2,1,2)
并在此处设置:(Imaging.figureProperties 是一个列表,用于保存多个[ax1,ax2]
对象。也在与 whereax1
和ax2
定义相同的函数中。)
Imaging.figureProperties.append([ax1,ax2])
最后,数据在这里被腌制(i
由用户选择,但它将在列表中):
class2:
with open(filename, 'wb') as f:
pickle.dump(Imaging.figureProperties[i-1],f)
只要我使用. _ _ 如果我使用标准,它会抛出相同的. 这里发生了什么?'wb'
'w'
import dill as pickle
import pickle
PicklingError