Gnuplot 在三维坐标中描绘二维曲线

缺乏关键词在网上找了很久,没找到该如何在三维坐标中画二维曲线,用splot直接画,画出的都是一些3维曲面,并没有得到单纯的一条二维曲线。

上图是sin(x)在三维坐标中的曲面图,而目标是在特定的x或y值上的一条正弦曲线,还有一定差距,后来在Gnuplot的官方文档中找到了一丝端倪。如下:

这个图形已经很接近我们想要的了,只是一个是平面,一个是线,把这些平面去掉只保留曲线就是我们要找的实现方法。

通过网上查找很容易得到了Fence plots的代码示例。如下:

看的出,因为设置了函数样式为脉冲形式所以才有了曲线下方的填充,如果不设置这个属性那么我们就可以得到想要的曲线。

最后总结写出自己的代码:

生成图像如下:

实际上,这仍然是曲面来的,只不过我们限定当x在2的附近时(x-2绝对值小于0.01),让xf函数值为1,其他地方都不取值,所以剩下很小的曲面看上去便像二维曲线。