是否可以禁止从数据文件列中绘制零值?

Is it possible to suppress plotting zero values from datafile column?

我编写了相同的数据收集程序,随着时间的推移,我在数据输出中添加了更多的列。 为了构建一致的格式,程序输出 0 没有可用的测量值。

我想知道在绘制数据文件时是否可以不绘制 零值(就像没有数据一样)。 一些新列是自己绘制的 (using 2:7),其他列用于表达式 (using 2:(+))。

gnuplot 不会绘制 非数字 的值,即 NaN。您可以在数据中使用此字符串而不是 0,或者编写一个函数将 0 转换为 NaN 并使用它,例如:

chk(x) = (x==0?NaN:x)
plot "file" using 2:(chk()+chk()) with lines

NaN 添加一个值会导致 NaN

这是另一个选项:set datafile missing "0"。请注意,将绘制 0.0 的值。 如果您使用 with lineswith linespoints

,这还将绘制连接线

代码:

### do not plot values "0"
reset session

$Data <<EOD
1  1.1
2  0
3  5.1
4  2.1
5  0
6  0.0
7  5.1
EOD

set datafile missing "0"

plot $Data u 1:2 w lp pt 7, \
     '' u 1:(+) w lp pt 7
### end of code

结果:

同时检查 help set datafilehelp set datafile missinghelp missing