从gnuplot中的3d表面数据点绘制2d水平曲线

时间:2015-08-31 10:42:23

标签: gnuplot

我有三维数据在3d中绘制表面:

x1  y1  f(x1, y1)
x1  y2  f(x1, y2)
..  ..  ..
x1  yn  f(x1, yn)


x2  y1  f(x1, y1)
x2  y2  f(x1, y2)
..  ..  ..
x2  yn  f(x1, yn)


.
.

我可以使用gnuplot来获取x =常量的水平曲线:

plot "datafile.txt" u 2:3 index 0      //or index 1 etc

如何获得y =常数的图?

感谢您提前回复......

1 个答案:

答案 0 :(得分:1)

第一种可能性:绘制整个文件,并使所有不需要的数据点无效(NaN或1/0)

yfix = 5 # the constant y value
plot datafile using (($2 == yfix) ? $1 : NaN):3

第二种可能性:every说明符

n = 3 # number of the wanted sample in y-direction
plot datafile every ::n::n using 1:3

选项(line increment):(block increment):(first line):(first block):(last line):(last block)

因此,上面的命令只绘制每个块的第n行。数据集。

(注意:块由一个空行分隔,数据集由另外一个空行分隔。后者用index指定,前者通过every解决)