2013-08-14 3 views
0

그래프로 표시 할 데이터의 한 달 분량의 dat 파일이 있다고 가정 해 보겠습니다. gnuplot에 마지막 그래프 만 표시하는 방법이 있습니다. 주 가치가 있고 그 전에 모든 걸 무시한거야?gnuplot : 시간 인덱싱 된 데이터의 하위 집합에 대한 요약 표시

+0

예, 사용 '설정 timefmt'을 ,'set xdata time'과'set xrange'를 사용합니다. 좀 더 구체적인 도움이 필요하면 더 구체적으로 질문해야합니다. – Christoph

+0

몇 가지 특정 날짜에 'xrange'를 설정할 수 있습니다 ... [ "Aug 8 2013": "Aug 14 2013"] 또는 "지난 주"는 "이 명시적인 날짜"를 의미하지는 않습니다. – MichaelB

답변

1

당신은 그에서 (초) 일주일 빼기, 시스템 시간을 얻기 위해 time 기능을 사용하고 set xrange에 대한 사용자의 요구 사항에 따라 시간을 포맷 할 수 있습니다 :

sys_time = time(0) 
set xdata time 
set timefmt '%b %d %Y' # according to the comment 
set xdata time 
set xrange[strftime('%b %d %Y', sys_time - 7*24*60*60): strftime('%b %d %Y', sys_time)] 
.... 
+0

Out 호기심에, 언제'time' 명령을 추가 했습니까? 나는 gnuplot 4.4를 가지고 있지 않다 ... 임시 해결책으로, 당신은'strftime (system ("date + % Y- % m- % d"), "% Y- % m- % d") 할 수있다.)'또는 비슷한 것. – mgilson

+0

그냥 체크 아웃했다. 내 노트북에 gnuplot 4.6을 설치했는데 거기에있는 것 같습니다. 좋은 발견. – mgilson

+0

@mgilson 제 물건에는 항상 개발 용 버전을 사용합니다. 여기에 게시 한 내용도 4.6 버전으로 테스트됩니다. – Christoph

1

예.

http://www.gnuplot.info/docs_4.6/gnuplot.pdf

일예로 다음의 gnuplot 설명서의 78 페이지에 every 키워드에 대한 설명을 참조하십시오

plot "data.txt" every ::a:A:b:B 

AB 통해 데이터 블록에 데이터 요소를 통해 ba 플롯한다.

관련 문제