---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-611-06c9707b9724> in <module>
32 print(f"Mean e pop = {aqm.data.left.mean():.4f}")
33 fig.tight_layout()
---> 34 aqm.save_fig(fig)
35 plt.show()
~\Documents\GitHub\acquisition_utils\quanalys\acquisition_notebook\acquisition_analysis_manager.py in save_fig(self, fig, name, cell, **kwds)
150 ) -> AcquisitionAnalysisManager:
151
--> 152 self.save_fig_only(fig=fig, name=name, **kwds)
153 self.save_analysis_cell(name=name, cell=cell)
154 return self
~\Documents\GitHub\acquisition_utils\quanalys\acquisition_notebook\acquisition_analysis_manager.py in save_fig_only(self, fig, name, **kwds)
119 raise ValueError('No data set')
120
--> 121 self._analysis_data.save_fig(fig=fig, name=name, **kwds)
122 return self
123
~\Documents\GitHub\acquisition_utils\quanalys\acquisition_utils\analysis_data.py in save_fig(self, fig, name, **kwargs)
108 import pickle
109 import codecs
--> 110 pickled = codecs.encode(pickle.dumps(fig), "base64").decode()
111 self[f"figures/{fig_name}"] = pickled
112 self.save([f"figures/{fig_name}"])
AttributeError: Can't pickle local object '_make_inset_locator.<locals>.inset_locator'
fig, axes = plt.subplots(2, 1, sharex=True, figsize=(8, 8))
cax = axes[0].inset_axes([1.04, 0.2, 0.05, 0.6])
c = axes[0].pcolorfast(aqm.data.qm_voltages, aqm.data.freqs*1e-6, aqm.data.left.T)
fig.colorbar(c, ax=axes[0], cax=cax).set_label("population in e")
I am not sure how to handle the problem, but worst case scenario, I would have the savefig simply write a warning that it cannot save the figure in case for some reason the figure is not pickle-able...