2014-11-17 3 views
3

데이터 로거에서 얻은 데이터를 플롯하려고하는데 왜 xrange가 유효하지 않은 오류인지 모르겠습니다.x 범위가 잘못되었습니다. GNUplot 시간과 날짜

아래는 필자의 최소한의 스크립트 및 플롯하려고하는 데이터 샘플입니다. 그들 모두는 내가 생각했던 비슷한 헤더를 가지고 있지만, # 그들을 주석 처리하거나 삭제하려고 시도했지만 작동하지 않았다. 솔루션에 헤더를 사용하지 않고이 작업을 수행 할 수있는 방법이 있다면 큰 도움이 될 것이며 많은 시간을 절약 할 수 있습니다.

데이터 보호를 위해 머리글을 문자 A로 변경 했으므로 동일한 오류가 발생합니다.

최소 코드

#!/gnuplot 

set datafile sep ',' 
set xdata time 
set timefmt '%d/%m/%Y,%H:%M:%S' 



#DATA FILES 
plot 'PAS.csv' using 2:4 title 'Passive' with points pt 5 lc rgb 'red' axes x1y1,\ 
    'ACT.csv' using 2:4 title 'Active' with points pt 5 lc rgb 'blue' axes x1y1,\ 
    'RISK.csv' using 2:4 title 'Risk'  with points pt 5 lc rgb 'black' axes x1y2 

데이터는

AAAAAAAAA 
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 

Timestamp,Date,Time,Value,Units 
1415879007,13/11/2014,11:43:27,0.011,µA 
1415878407,13/11/2014,11:33:27,0.045,µA 
1415877807,13/11/2014,11:23:27,0.003,µA 
1415877207,13/11/2014,11:13:27,0.056,µA 
1415876607,13/11/2014,11:03:27,-0.036,µA 
1415876007,13/11/2014,10:53:27,-0.046,µA 
1415875407,13/11/2014,10:43:27,-0.039,µA 
1415874807,13/11/2014,10:33:27,-0.050,µA 
1415874207,13/11/2014,10:23:27,0.051,µA 
1415873607,13/11/2014,10:13:27,-0.014,µA 
1415873007,13/11/2014,10:03:27,0.035,µA 
1415872407,13/11/2014,09:53:27,0.054,µA 
1415871807,13/11/2014,09:43:27,-0.006,µA 
1415871207,13/11/2014,09:33:27,-0.049,µA 
1415870607,13/11/2014,09:23:27,0.000,µA 
1415870007,13/11/2014,09:13:27,0.048,µA 
1415869407,13/11/2014,09:03:27,-0.029,µA 

감사합니다! 당신은 당신이 그것을하려하기 전에 데이터 파일을 필터링 할 수 있습니다 grep 같은 명령 줄 도구에 대한 액세스 권한이있는 경우

+0

여기에 문제는 일 수 있었다 : 이전의 gnuplot 버전이 timefmt 내부의 쉼표에 문제가있는 경우

또는, 당신은 또한 당신의 x 축에 대한 첫 번째 열에 타임 스탬프를 사용할 수 있습니다 시간 형식에 데이터 파일 구분 기호가 포함되어 있습니까? –

+0

문제가없는 다른 스크립트에서 해당 줄을 사용했지만 좋은 생각입니다. 거의 동일한 데이터에서도 역시 – OJR

+0

모든 헤더 행의 주석을 지우면 4.6.5에서 제대로 작동합니다. 그래서 timefmt 안에는 쉼표에 문제가없는 것 같습니다. – Christoph

답변

4

는 :

set datafile sep ',' 
set xdata time 
set timefmt '%d/%m/%Y,%H:%M:%S' 

#DATA FILES 
plot '< grep -E ''^[0-9]{8,}'' PAS.csv' using 2:4 title 'Passive' with points pt 5 lc rgb 'red' 

이 적어도 8 자리로 시작하지 않는 모든 라인을 제거합니다. 4.6.3에서 작동하도록 테스트되었습니다.

set datafile sep ',' 
set xdata time 
set timefmt '%s' 
plot '< grep -E ''^[0-9]{8,}'' PAS.csv' using 1:4 title 'Passive' with points pt 5 lc rgb 'red' 
+0

불행히도 grep (Windows 작업 컴퓨터에서 관리자 권한 있음)에 액세스 할 수는 없지만 타임 스탬프 아이디어를 사용하면 헤더를 삭제하면 실제로 플로팅 할 수 있습니다. 헤더를 삭제하면 나를 위해 작동하지 않는 시간 및 날짜 열을 사용하십시오. 4.6.5이긴하지만 아무 일도 일어나지 않습니다. 나는이 문제를 잠시 동안 떠나야 만한다. 나는이 정보를 가지고 고칠 수 있다고 확신 할 때이 대답을 받아 들일 것이다. 감사합니다! – OJR