gnuplot:有故障的传感器有时读数为 0.00 - 如何将它们转换为丢失?
gnuplot: Faulty sensor sometimes reading 0.00 - how to convert them to missing?
我有一个组合 RPi/Arduino 从几个 DHT-22 Humidity/Temperature 传感器读取读数。
其中一个传感器的电线松动,并且连续 10-20 分钟偶尔给出 0.00 的温度读数。由于同时收集了其他数据,我真的无法选择删除整行数据,就像如果它是唯一被记录的传感器一样。现在电线已经修好了。
所以我的问题是,我可以在 gnuplot 代码中做一些事情来将这些 0.00 值视为绘图中缺少的值,以便它可以忽略它们吗?
Gnuplot 允许您在绘图时过滤数据:
gnuplot 'file.dat' using 1:( == 0.0 ? 1/0 : )
这会将 0
的所有值视为无效点并跳过这些点。取决于所选的绘图样式是否有效:plot ... with lines
在无效点中断一条线。
从 gnuplot 版本 5.0.6 开始,您可以使用 set datafile missing NaN
将无效点视为缺失点,一行会简单地忽略这些点:
$data <<EOD
12
27
0
23
42
EOD
set multiplot layout 1,2
set title '0.0 invalid'
plot $data using 0:( == 0.0 ? 1/0 : ) with linespoints pt 7 notitle
set title '0.0 invalid but treated as missing'
set datafile missing NaN
replot
unset multiplot
5.0.6 输出:
我有一个组合 RPi/Arduino 从几个 DHT-22 Humidity/Temperature 传感器读取读数。
其中一个传感器的电线松动,并且连续 10-20 分钟偶尔给出 0.00 的温度读数。由于同时收集了其他数据,我真的无法选择删除整行数据,就像如果它是唯一被记录的传感器一样。现在电线已经修好了。
所以我的问题是,我可以在 gnuplot 代码中做一些事情来将这些 0.00 值视为绘图中缺少的值,以便它可以忽略它们吗?
Gnuplot 允许您在绘图时过滤数据:
gnuplot 'file.dat' using 1:( == 0.0 ? 1/0 : )
这会将 0
的所有值视为无效点并跳过这些点。取决于所选的绘图样式是否有效:plot ... with lines
在无效点中断一条线。
从 gnuplot 版本 5.0.6 开始,您可以使用 set datafile missing NaN
将无效点视为缺失点,一行会简单地忽略这些点:
$data <<EOD
12
27
0
23
42
EOD
set multiplot layout 1,2
set title '0.0 invalid'
plot $data using 0:( == 0.0 ? 1/0 : ) with linespoints pt 7 notitle
set title '0.0 invalid but treated as missing'
set datafile missing NaN
replot
unset multiplot
5.0.6 输出: