【发布时间】:2012-08-22 16:18:31
【问题描述】:
例子:
我想像上面那样绘制一个图表:一条缺少一些数据点的线,这意味着这条线是不连续的。
我该怎么做?
【问题讨论】:
标签: gnuplot
例子:
我想像上面那样绘制一个图表:一条缺少一些数据点的线,这意味着这条线是不连续的。
我该怎么做?
【问题讨论】:
标签: gnuplot
这取决于您的数据文件是什么样的。如果您在数据文件中插入空格,它将不会连接那些相邻的点(这是最简单的方法):
考虑:
#datafile
1 2
2 3
4 2
5 3
然后是绘制它的脚本:
plot 'datafile' u 1:2 w linespoints
您还可以使用其他技巧来处理丢失的数据:set datafile missing。内置帮助 (help missing) 是一个很好的参考。
【讨论】:
set datafile missing 部分的用武之地。
对于单个绘图,使用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
}
【讨论】: