2012-05-14 3 views
2

저는 그래프 데이터 (파이썬 포함)가 필요한 프로젝트를 가지고 있습니다. rrdtool은 거의 정확하게 필요한 것 같습니다. 단 1 초의 해상도 만 지원하고 데이터 포인트가 훨씬 가깝습니다.Python은 시계열을 그래프로 표시합니다

GNUPlot은 짐승처럼 보입니다. 아직 파고 들지는 않았지만, 한 눈에보기에는 표현을 그래프로 표현하는 것과 더 빨리 배울 것이 아닌 것 같습니다.

그래 픽 시계열에 맞춰 지거나 쉽게 적용 할 수있는 그래프 시스템이 있습니까? GNUplot보다 더 좋은 점이 없다면, 나는 그 부분을 파헤 치기 시작할 것이다. 나는 단지 내가 고려해야 할 것이 없다는 것을 확실하게하고 싶었다.

답변

5

이전에 PyX을 사용했습니다. 다양한 데이터를 그래프로 나타낼 필요가있을 때 내 목적에 잘 부합합니다.

매우 인기있는 파이썬 플로팅 라이브러리 인 matplotlib도 있습니다.

+0

matplot 유망 보인다! PyX, 웹 사이트에서 이미지 파일을 출력하지 않습니까? (PNG, JPG, GIF 등)? 이전에는 지정하지 않았지만이 그래프를 웹에 올려야합니다. – tMC

+3

저는 종종 [gallery] (http://matplotlib.sourceforge.net/gallery.html)로 가서 원하는 이미지를 찾고 제공 한 코드를 복사하여 matplotlib을 사용합니다. 영상. – Andrew

+0

tMC : Matplotlib/Pylab은 png 또는 pdf를 출력합니다 (플롯 팅 백엔드에 따라 다름). 'pylab.plot (xcoords, ycoords); pylab.savefig ('myimage.png')'. –

2

당신이 찾고있는 것을 완벽하게 지정하지는 않았지만, 여기에 신속하게 잘라 내기 및 붙여 넣기가 가능한 예제가 있는데, 그 중 일부는 플로팅 능력이 matplotlib 인 것을 보여줍니다. 이 예는 또한 PNG 및 PDF (래스터 및 벡터화 각각)로 이미지를 저장합니다

import numpy as np 
import pylab as plt 

# Create some sample "time-series" data 
N = 200 
T = np.linspace(0, 5, N) 
Y1 = T**2 - T*np.cos(T*5) + np.random.random(N) 
Y2 = T**2 - T*np.sin(T*5) + np.random.random(N) 

pargs = {"lw":5, "alpha":.6} 

plt.plot(T,Y1, 'r',**pargs) 
plt.plot(T,Y2, 'b', **pargs) 

skip = 30 
plt.scatter(T[::skip],Y2[::skip], color='k', s=200, alpha=.6) 

plt.xlabel("time") 
plt.ylabel("money") 
plt.axis('tight') 

# Save as a png and a pdf 
plt.savefig("example.png") 
plt.savefig("example.pdf") 

plt.show() 

enter image description here