有条件地隐藏图表

时间:2013-11-12 16:43:00

标签: 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
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条件,但由于undefined function: if,因此无法正常工作。

1 个答案:

答案 0 :(得分:1)

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

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