存储绘制的数据供以后使用

时间:2016-07-30 13:08:17

标签: python matplotlib ipython jupyter-notebook

我在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)

1 个答案:

答案 0 :(得分:0)

您可以挑选该对象(使用cPickle模块)。请参阅此问题here