Plot 是否可以禁止从数据文件列打印零值?
我编写了相同的数据收集过程,随着时间的推移,我向数据输出中添加了更多的列。 为了建立一致的格式,程序在没有可用测量值的情况下输出Plot 是否可以禁止从数据文件列打印零值?,plot,gnuplot,zero,Plot,Gnuplot,Zero,我编写了相同的数据收集过程,随着时间的推移,我向数据输出中添加了更多的列。 为了建立一致的格式,程序在没有可用测量值的情况下输出0 我想知道在绘制数据文件时是否可以不绘制零值(例如,如果没有数据存在)。 一些新列是自己绘制的(使用2:7),而另一些列是在表达式中使用的(使用2:($7+$8))。gnuplot不会绘制非数字的值,即NaN。您可以在数据中使用此字符串而不是0,或者编写一个函数将0转换为NaN,并使用它,例如: chk(x) = (x==0?NaN:x) plot "file" us
0
我想知道在绘制数据文件时是否可以不绘制零值(例如,如果没有数据存在)。
一些新列是自己绘制的(
使用2:7
),而另一些列是在表达式中使用的(使用2:($7+$8)
)。gnuplot不会绘制非数字的值,即NaN
。您可以在数据中使用此字符串而不是0,或者编写一个函数将0转换为NaN,并使用它,例如:
chk(x) = (x==0?NaN:x)
plot "file" using 2:(chk($7)+chk($8)) with lines
将值添加到
NaN
会导致NaN这里有另一个选项:设置数据文件缺少“0”
。注意,将绘制0.0
的值。
如果您将与lines一起使用,或将与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:($1+$2) w lp pt 7
### end of code
###不打印值“0”
重置会话
$Data阅读此答案后,我意识到实际上有些值是nan
,而不是0
(程序错误)。程序使用ssprintf(“%12.6g”,…)
。幸运的是,对于Gnuplot来说,NaN==NaN
。此外,文档还表示字符串值被视为无效,而不是缺少样本。@U.Windl Try settingset datafile missing NaN