我正在从数据文件中绘制曲面。我想删除平行于x轴的网格线。
这是我的代码:
set xlabel 'x';
set ylabel 'y';
splot "-" using 1:2:3 notitle w l;
1 1.0 0.998
1 2.0 0.998
1 3.0 0.998
1 4.0 0.998
1 5.0 0.997
1 6.0 0.997
1 7.0 0.997
1 8.0 0.997
1 9.0 0.997
1 10.0 0.997
2 1.0 0.998
2 2.0 0.997
2 3.0 0.996
2 4.0 0.995
2 5.0 0.995
2 6.0 0.995
2 7.0 0.995
2 8.0 0.994
2 9.0 0.989
2 10.0 0.987
3 1.0 0.997
3 2.0 0.997
3 3.0 0.997
3 4.0 0.997
3 5.0 0.997
3 6.0 0.997
3 7.0 0.996
3 8.0 0.996
3 9.0 0.995
3 10.0 0.994
4 1.0 0.997
4 2.0 0.996
4 3.0 0.993
4 4.0 0.99
4 5.0 0.986
4 6.0 0.982
4 7.0 0.977
4 8.0 0.974
4 9.0 0.966
4 10.0 0.959
e
这将产生:
我需要的是:
第二个数字是通过添加虚拟数据线产生的:
2 11.0 0.987
但是,我正在从加载数据文件进行绘图。我无法修改每个数据文件以添加虚拟数据行。是否可以通过不添加虚拟数据线来产生第二个数字?
答案 0 :(得分:2)
最简单的方法是用两个空行替换每个空行。然后,每个x值都有一个数据块。并且不同块中的点不相互连接:
文件data.txt
包含:
1 1.0 0.998
1 2.0 0.998
1 3.0 0.998
1 4.0 0.998
1 5.0 0.997
1 6.0 0.997
1 7.0 0.997
1 8.0 0.997
1 9.0 0.997
1 10.0 0.997
2 1.0 0.998
2 2.0 0.997
2 3.0 0.996
2 4.0 0.995
2 5.0 0.995
2 6.0 0.995
2 7.0 0.995
2 8.0 0.994
2 9.0 0.989
2 10.0 0.987
3 1.0 0.997
3 2.0 0.997
3 3.0 0.997
3 4.0 0.997
3 5.0 0.997
3 6.0 0.997
3 7.0 0.996
3 8.0 0.996
3 9.0 0.995
3 10.0 0.994
4 1.0 0.997
4 2.0 0.996
4 3.0 0.993
4 4.0 0.99
4 5.0 0.986
4 6.0 0.982
4 7.0 0.977
4 8.0 0.974
4 9.0 0.966
4 10.0 0.959
现在用
绘制splot '< sed "s/^$/\n/g" data.txt' w l
获取
如果您无法使用sed
,则必须使用与plot matrix with lines gnuplot中显示的方法类似的方法:
stats 'data.txt' nooutput
splot for [i=0:STATS_blank] 'data.txt' every :::i::i lt 1 w l