Pickle / Unpickle и показать фигуру Matplotlib - PullRequest
0 голосов
/ 20 апреля 2020

У меня также возникают проблемы с засолкой, а затем снятием и отображением рисунка Matplotlib в Python 3.7 и Matplotlib 3.1.3.

Я сохраняю свои цифры как (упрощенный код):

fig, ax = plt.subplots()
fig.show() #works fine
list_figs.append(fig)
output = {
    "figures": list_figs
}
with open( f"mPair.pkl", "wb" ) as f:
    pickle.dump( output, f )
res = pickle.load( open( f"mPair.pkl", "rb" ) )
res["figures"][0].show() #does not work

Код работает нормально, если я непосредственно показываю цифру, но после травления / расслоения я получаю:

Traceback (most recent call last):
  File "/Users/xx/opt/anaconda3/envs/nengo3/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3331, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-4759ba430504>", line 1, in <module>
    res1[ "fig_post" ].show()
  File "/Users/xx/opt/anaconda3/envs/nengo3/lib/python3.7/site-packages/matplotlib/figure.py", line 438, in show
    "created by pyplot.figure()." % err)
AttributeError: 'NoneType' object has no attribute 'manager'
Figure.show works only for figures managed by pyplot, normally created by pyplot.figure()
...