Gnuplot 我能';不要把这两个情节叠加在一起

Gnuplot 我能';不要把这两个情节叠加在一起,gnuplot,Gnuplot,当我在gnuplot中加载一个只包含第一个绘图指令的文件(见下文)或一个只包含第二个绘图指令的文件时,我没有错误。 但是,将两组指令组合在一个文件中(这样我可以叠加绘图),我有一条gnuplot错误消息:“myFile.gnu”,第28行:未定义变量:t,其中myFile.gnu有下面第一个绘图+第二个绘图的全部内容 我找不到第一个绘图的哪个选项与第二个绘图冲突。有什么想法吗 # FIRST PLOT set term x11 size 700,700 set autoscale unset l

当我在gnuplot中加载一个只包含第一个绘图指令的文件(见下文)或一个只包含第二个绘图指令的文件时,我没有错误。 但是,将两组指令组合在一个文件中(这样我可以叠加绘图),我有一条gnuplot错误消息:
“myFile.gnu”,第28行:未定义变量:t
,其中myFile.gnu有下面第一个绘图+第二个绘图的全部内容

我找不到第一个绘图的哪个选项与第二个绘图冲突。有什么想法吗

# FIRST PLOT
set term x11 size 700,700
set autoscale
unset log
set size square 1,1
set grid
set autoscale fix
set title 'Free Energy (kcal/mol)'
set xlabel 'phi'
set ylabel 'psi'
unset key
set cblabel
set cntrparam levels incr 0,2,20
set pm3d map interpolate 1,1
set style increment userstyles
load 'analysis/RdYlBu.pal'
set contour
set style line 1 lc rgb "dark-blue"
unset clabel
set dgrid3d
splot 'file.dat' u 1:2:3 lc rgb 'black'

# SECOND PLOT
set parametric
set trange [-pi:pi]
x1(t)=-1.3+1.5*cos(t)
y1(t)=1.5+0.9*sin(t)
replot x1(t),y1(t)
theta1=2.2
replot x1(t)*cos(theta1)-y1(t)*sin(theta1)-1.55,x1(t)*sin(theta1)+y1(t)*cos(theta1)+3.75 title 'ellipse1'
x2(t)=1+0.4*cos(t)
y2(t)=-0.7+0.8*sin(t)
replot x2(t),y2(t)
theta2=0
replot x2(t)*cos(theta2)-y2(t)*sin(theta2)+0.2,x2(t)*sin(theta2)+y2(t)*cos(theta2)-0.7 title 'ellipse2'

我还没有试过,但这个想法可以奏效。做:

set multiplot
在第一张纸条上面。在第一个脚本之后,追加

unset
在所有
集合中
s。在此下方,附加:

set origin 0,0
set size 1,1
在下面,添加第二个脚本。然后追加

set multiplot 

(我知道不是answear,但这不是一个漂亮的注释)

您的第一个文件执行
splot
,因此第二个文件中的
replot
也调用
splot
。这个命令知道
u
v
是参数模式下的虚拟变量。我在我创建的所有函数中都用u,v代替t,但是我得到了一个未完全指定的
参数化函数
错误。因为
splot
需要参数化模式下的三个函数。那么,是否有必要用gnuplot重叠两个绘图,或者我必须继续使用gimp或其他什么?我尝试了gnuplot的mutliplot选项。结果:第一个图在第二个图中,就像一个大正方形中的正方形。