Gnuplot 3d表面图与重叠线?

时间:2013-08-05 08:12:56

标签: 3d gnuplot physics

我需要绘制一个三维表面(从文件中),然后在该表面上绘制一条线(来自不同的文件)。我找到了一个相关的帖子(Gnuplot: Plotting a path over a surface),但建议的答案是我已经尝试过的(并且它不起作用)。

表面是3D势能面,线是该表面上的轨迹。该专栏描述了我正在研究的系统如何在表面上发展。

我目前正在这样做:

splot "trajectory.dat" using 4:6:10 title "{/Helvetica=23 trajectory}"  with lines lt -1
set pm3d
set hidden3d

splot   "surface.dat" using 1:3:7 title "{/Helvetica=23 surface}"

但我得到的只是表面而没有轨迹。当我从剧本中绘制它时,轨迹会短暂地闪烁,但随后表面会在它上面出现,这就是我所能看到的。即使在旋转和重新定向表面时也没有轨迹的迹象。

我已经尝试颠倒绘图顺序(首先是曲面然后是轨迹),但这也不起作用。

我还尝试在轨迹上放置一个z轴偏移,以检查表面是否是在轨迹顶部绘制的情况。这也失败了。

有关如何进行的任何想法?我已经浏览了gnuplot帮助文件,没有任何示例或案例有帮助。我很好,真的卡住了。请帮忙!我非常感谢任何输入。

1 个答案:

答案 0 :(得分:1)

您必须进行一次splot来电,就像在Gnuplot: Plotting a path over a surface的回答中一样:

set pm3d
set hidden3d
splot "trajectory.dat" using 4:6:10 title "trajectory"  with lines lt -1,\
      "surface.dat" using 1:3:7 title "surface"

否则,如果您未处于multiplot模式,则第二个splot会创建一个全新的图表。