2017-05-16 6 views
1

필자는 여러 가지 DHT-22 습도/온도 센서에서 RPI/Arduino 조합으로 판독 값을 얻었습니다.gnuplot : 잘못된 센서가 때때로 0.00을 읽습니다 - 누락 된 것으로 변환하는 방법은 무엇입니까?

센서 중 하나가 느슨해 진 와이어를 개발하여 때때로 10 분에서 20 분 동안 온도 판독 값을 연속적으로 제공합니다. 다른 데이터가 동시에 수집되기 때문에 기록되는 유일한 센서 인 것처럼 데이터의 전체 라인을 삭제할 수있는 옵션이 없습니다. 이제 전선이 고쳐졌습니다.

제 질문은 gnuplot 코드에서 그 0.00 값을 단순히 무시하여 플로팅을 무시하도록 할 수 있습니까?

+1

'set datafile missing "0.00"' –

답변

1

의 gnuplot는 음모를 꾸미고있는 동안 데이터를 필터링 할 수 있습니다 :

gnuplot 'file.dat' using 1:($2 == 0.0 ? 1/0 : $2) 

0 잘못된 점의 모든 값을 취급하고 그 점을 건너 뜁니다. 작동하는 선택된 플롯 스타일에 따라 또는하지 않음 : plot ... with lines은 유효하지 않은 지점에서 라인을 중단합니다.

의 gnuplot 버전이 누락 된 사람으로 취급 잘못된 점을 가지고 set datafile missing NaN을 사용할 수 있습니다 5.0.6 및 라인은 단순히 그 점을 무시합니다 이후 :

$data <<EOD 
12 
27 
0 
23 
42 
EOD 

set multiplot layout 1,2 

set title '0.0 invalid' 
plot $data using 0:($1 == 0.0 ? 1/0 : $1) with linespoints pt 7 notitle 

set title '0.0 invalid but treated as missing' 
set datafile missing NaN 
replot 

unset multiplot 

출력 5.0.6과 :

enter image description here