2016-07-30 72 views
0

我在Jupyter/iPython笔记本中做了很多(几乎所有)数据分析。为了方便,我显然也使用matplotlib/pyplot将这些数据绘制在这些笔记本中。 其中一些情节我需要稍后在外部重新创建,例如在latex中使用它们。为此,我将相应的数据保存为文本文件到硬盘。现在,我通过堆积剧情需要的所有数据手动创建numpy数组,并使用numpy.savetxt保存该数据。存储绘制的数据供以后使用

我想要的是一种方法来保存全部以(半)自动方式写入同一文件的特定情节所需的数据,但如果涉及到智能方式,我会感到茫然这样做。

因此,我有两个问题:

  • 是否有可能(和保存这样做),以创造这样一个情节内存对象,每图绘制存储所有数据,并具有类似的方法Memoryobject.save_plot_to_file(figname)?这个对象需要知道我正在处理哪个图形,所以我需要在matplotlib上创建一个图层,或者从matplotlib对象中获取此信息。

  • 有没有更简单的方法?蟒蛇的宇宙是巨大的,我不知道它的一半。也许这样的事情已经存在了?

编辑:澄清:我做要保存的数字对象。我想要做的是这样的:

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) 
+0

从来没有尝试过,但也许酸洗数字对象会工作? – Julien

+0

@Dux从图中提取数据,也许你可以使用[这个答案](http://stackoverflow.com/questions/8938449/how-to-extract-data-from-matplotlib-plot)。 – Praveen

回答

0

你可以泡菜的对象(使用cPickle模块)。看到这个问题here

+0

对不起,我的问题似乎有误导性。我更新了它。底线,我只希望在运行期间绘图的数据,而不是保存图形对象 – Dux

+0

您可以使用'cPickle'保存数据。我在Jupyter笔记本中使用了'cPickle'来保存数据并在以后重新加载。您可以在腌制对象内保存一个变量,告诉您使用了哪一个绘图功能,如果这是您之后的功能。 –

+0

我知道。但是我*需要以文本格式保存到磁盘的数据,例如CSV。 – Dux

相关问题