Gnuplot:在某一点用线连接两个数据

时间:2016-06-15 12:17:39

标签: gnuplot

我想要一个使用gnuplot的图形,其中两个数据采用混合方案。

这是一个由3列组成的数据:

java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList

我想要的是一条线没有接缝。 e.g。

x   y1   y2
1   0    1    
2   0    1    
3   0    1    
4   0    1    
5   0    1    
6   0    1    
7   0    1    
8   0    1    
9   0.1  1.2
10  0.1  1.23

并且,所有点都用一条线连接。

是否有人知道如何使用简单的gnuplot命令来制作它?

2 个答案:

答案 0 :(得分:2)

AFAIK没有纯gnuplot的解决方案,但你可以通过调用外部unix工具来做几乎所有事情。如果删除数据文件中的第一行(标题)(以下称data.txt),则应该可以使用:

plot "<awk '{if (NR<=5) print $1,$2; else print $1,$3}' data.txt"  w lp

enter image description here

答案 1 :(得分:2)

Prue Gnuplot soulution:

plot 'sheme.dat' u 1:($1<=5?$2:$3) w l

如果需要,您可以优化条件以处理案例x&lt; 1和x&gt; 10 ...

如果要用y1绘制 1-5,用y2绘制6-10,请使用第0列:

plot 'sheme.dat' u 1:($0<=4?$2:$3) w l

enter image description here