Gnuplot 有条件地隐藏图形

Gnuplot 有条件地隐藏图形,gnuplot,Gnuplot,如果给定特定参数,我想隐藏相应的图形。但我还是想画其他的情节。我只是让计算不正确(除以0),但它仍然出现在键中 set terminal png size 800,640 set output "test.png" set xrange [0:70000] set yrange [0:2500] G=6.674*10**-11 M=5.2915793*10**22 R=600000.0 if (!exists('sma')) { sma=-R } set key right bottom p

如果给定特定参数,我想隐藏相应的图形。但我还是想画其他的情节。我只是让计算不正确(除以0),但它仍然出现在键中

set terminal png size 800,640
set output "test.png"
set xrange [0:70000]
set yrange [0:2500]
G=6.674*10**-11
M=5.2915793*10**22
R=600000.0
if (!exists('sma')) {
  sma=-R
}
set key right bottom
plot sqrt((250*G*M)/((R+x)**2*1.2230948554874*exp(-x/5000)*0.2)) title 'Terminal' with lines, \
     sqrt(G*M*(2/(x+R)-1/(sma+R)))-174.53 title 'Orbital' with lines

我还尝试在plot命令中移动if条件,但正如预期的那样,它不起作用,因为
未定义函数:if

没有通用方法隐藏完全未定义的绘图。命令

plot 1/0
由于错误而中止,但

plot x, 1/0
打印
x
,但为两个打印添加一个键条目

在您的情况下,您可以检查
(sma+R)
的值,并相应地设置标题:

plot sqrt((250*G*M)/((R+x)**2*1.2230948554874*exp(-x/5000)*0.2)) title 'Terminal' with lines, \
     sqrt(G*M*(2/(x+R)-1/(sma+R)))-174.53 title ((sma + R) == 0 ? '' : 'Orbital') with lines

没有通用的方法来隐藏完全未定义的绘图。命令

plot 1/0
由于错误而中止,但

plot x, 1/0
打印
x
,但为两个打印添加一个键条目

在您的情况下,您可以检查
(sma+R)
的值,并相应地设置标题:

plot sqrt((250*G*M)/((R+x)**2*1.2230948554874*exp(-x/5000)*0.2)) title 'Terminal' with lines, \
     sqrt(G*M*(2/(x+R)-1/(sma+R)))-174.53 title ((sma + R) == 0 ? '' : 'Orbital') with lines