2016-07-30 81 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

相關問題