如何在gnuplot中绘制缺少数据点的行

时间:2012-08-22 16:18:32

标签: gnuplot

示例:

enter image description here

我想绘制一张与上图相似的图表:一条缺少数据点的线条,这意味着该线条是不连续的。

我该怎么做?

2 个答案:

答案 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
}