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

죄송합니다, 제 질문은 오도하는 것 같습니다. 나는 그것을 새롭게했다. 결론적으로, 나는 오직 런타임 동안 그림의 데이터를 원한다. figure 객체를 저장하지 말아라. – Dux

+0

데이터 저장을 위해'cPickle '을 사용할 수있다. Jupyter 노트북에서'cPickle'을 사용하여 데이터를 저장하고 나중에 다시로드했습니다. 피클 링 된 객체 내에 변수를 저장하여 사용중인 플로팅 함수를 알 수 있습니다. –

+0

나는 그것을 안다. 하지만 텍스트 형식으로 디스크에 저장된 데이터가 필요합니다. CSV. – Dux

관련 문제