示例:
我想绘制一张与上图相似的图表:一条缺少数据点的线条,这意味着该线条是不连续的。
我该怎么做?
答案 0 :(得分:9)
这取决于数据文件的外观。如果在数据文件中插入空格,则不会连接这些相邻点(这是最简单的方法):
考虑:
#datafile
1 2
2 3
4 2
5 3
然后编写脚本:
plot 'datafile' u 1:2 w linespoints
您可以使用缺少数据的其他技巧:set datafile missing
。对此的一个很好的参考是内置帮助(help missing
)。
答案 1 :(得分:0)
对于单个图,使用set datafile missing
指定表示缺失值的字符串,使用using $
说明符确保gnuplot在行中留下缺失值的间隙。 gnuplot documentation for set datafile missing
中描述了不同的using
说明符。
如果将列号指定为变量,则这有点棘手。例如,要绘制文件的多个列,可以使用变量指定列号:
do for [i=2:10] {
plot 'datafile' using ($1):i with lines
}
但是,如果我们尝试使用$
语法,则不起作用:
do for [i=2:10] {
plot 'datafile' using ($1):($i) # ERROR!
}
解决方案是使用column function,它还会为缺失值留下空白:
do for [i=2:10] {
plot 'datafile' using ($1):(column(i)) with lines
}