我在Jupyter / iPython-notebooks中做了很多(几乎所有)数据分析。为方便起见,我显然还使用matplotlib
/ pyplot
在我的笔记本中绘制数据。
其中一些我需要稍后在外部重新创建,例如在latex
中使用它们。为此,我将相应的数据作为文本文件保存到硬盘。现在,我通过堆叠绘图所需的所有数据手动创建一个numpy-array,并使用numpy.savetxt
保存它。
我想要的是一种方法来保存以(半)自动方式写入同一文件的特定图表所需的所有数据,但如果它出现,我会感到茫然以聪明的方式这样做。
因此,我有两个问题:
是否可以(并保存)创建类似于绘图内存对象的东西,它存储每个图形绘制的所有数据,并且有一个类似于Memoryobject.save_plot_to_file(figname)
的方法?这个对象需要知道我正在处理哪个图,所以我需要在matplotlib上面创建一个图层,或者从matplotlib对象中获取这个信息
有更简单的方法吗? python宇宙是巨大的,我不知道它的一半。也许这样的事情已经存在了?
修改:澄清:我不想要保存图形对象。我想做的是这样的事情:
fig = plt.figure()
fig.plot(x1, y1)
fig.plot(x2, y2 + y3)
# and at a later point
arrays = get_data_from_plot(fig)
data = process(arrays)
np.savetxt('textfile', data)