2016-06-10 2 views
0

이 코드로, 리눅스에 GNUPLOT 4.6을 사용하고 있습니다 :gnuplot : 잘못된 columnheader가 표시됩니까?

set datafile separator "," 
set style data linespoint 
set xdata time;set timefmt "%Y/%m/%d %H:%M";set autoscale 
plot 'PHY_Long_CHA_CMPK.csv' every ::7 using 2:3 title columnheader(3),\ 
    'PHY_Long_CHA_CMPK.csv' every ::7 using 2:4 title columnheader(4),\ 
    'PHY_Long_CHA_CMPK.csv' every ::7 using 2:5 title columnheader(5),\ 
pause -1 

을 내가 올바른 열 헤더 (첫 번째, 두 번째, 세 번째)을받지 못했습니다은 모든 시간을 filename.csv. 아무도 나를 도와 줄 수 있습니까? filename.csv 파일의 데이터를 변경하면 안됩니다. 그래서 filename.csv의

예 ... GNUPLOT의 기능을 시도하고있다 : 당신이해야

filename.csv 
Serial number 
From : 2015/12/09 13:15 
To : 2016/06/09 23:30 
sampling rate : 15 

No.,"time","First","Second","Third" 
1,"2015/12/09 13:30",0,0,0 
2,"2015/12/09 13:45",0,0,0 
3,"2015/12/09 14:00",0,0,0 
4,"2015/12/09 14:15",0,0,0 

답변

2

해주기 때문에, 모든 열 머리글은 "filename.csv는";-) 인 코멘트 아웃 주석 라인 ...

#filename.csv 
#Serial number 
#From : 2015/12/09 13:15 
#To : 2016/06/09 23:30 
#sampling rate : 15 
# 
No.,"time","First","Second","Third" 
1,"2015/12/09 13:30",0,0,0 
2,"2015/12/09 13:45",0,0,0 
3,"2015/12/09 14:00",0,0,0 
4,"2015/12/09 14:15",0,0,0 


그리고 마지막 플로팅 라인에서 ' \ '를 사용하지 않도록한다.

+1

+1 당신은 나를 이길. 나는 모든 사람들이 어떻게 작동하는지에 대한 OP의 오해가 더 있기 때문에, 그리고 OP가 어떤 이유로 든 파일을 편집 할 수없는 경우에도 작동하는'awk' 대안을 제안하기 때문에 나는 그것을 남겨 둘 것입니다. – Miguel

+0

@Miguel 당신 말이 맞아요 : 나는 왜 OP가'every'을 사용하는지 생각하지 않았습니다 :) –

2

열 머리글은 실제로 파일의 첫 번째 줄이므로 filename.csv입니다. every ::7은 예상 한대로, 즉 처음 7 줄을 건너 뛰고 있습니다. 첫 번째 7 데이터 항목을 건너 뜁니다. 당신이 헤더를 생략하려는 경우, 당신은 awk와 주석 기호 # 또는 파이프 처음 몇 줄을 제거 입력을 사용할 수 있습니다 : 내 대답을 쓰는 동안

set datafile separator "," 
set style data linespoint 
set xdata time;set timefmt "%Y/%m/%d %H:%M";set autoscale 
plot "< awk '(NR > 6){print $0}' PHY_Long_CHA_CMPK.csv" using 2:3 title columnheader(3),\ 
    "< awk '(NR > 6){print $0}' PHY_Long_CHA_CMPK.csv" using 2:4 title columnheader(4),\ 
    "< awk '(NR > 6){print $0}' PHY_Long_CHA_CMPK.csv" using 2:5 title columnheader(5) 
pause -1 
+0

나는'awk 'NR> 6'' – Bernhard