是否可以禁止从数据文件列中绘制零值?
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 lines
或 with 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 datafile
、help set datafile missing
或 help missing
。
我编写了相同的数据收集程序,随着时间的推移,我在数据输出中添加了更多的列。
为了构建一致的格式,程序输出 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 lines
或 with 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 datafile
、help set datafile missing
或 help missing
。