1

matplotlib を使用してプロットを作成するプログラムがあります。作成プロセス全体を再度実行することなく、プロットをピクルして後で再開できるようにしたいと考えています。何らかの理由で、 . をスローし続けPicklingError: Can't pickle 'RendererAgg' objectます。と の両方、および 4 つの異なる酸洗オプションすべてを使用してみましimport dill as pickleimport pickleが、変更はありません。

軸は次のように定義されています。

class Imaging:
    def function:
        ax1 = plt.subplot(2,1,1)
        ax2 = plt.subplot(2,1,2)

ここで設定します: (Imaging.figureProperties はリストであり、複数のオブジェクトを保持するためのものです。また、 whereおよびが定義さ[ax1,ax2]れているのと同じ関数内にあります。)ax1ax2

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ます。ここで何が起こっているのですか?

4

2 に答える 2

1

Matplotlib を 1.4.2 に更新すると、問題が解決しました。

于 2015-02-17T13:58:05.607 に答える