If statement Gnuplot下的If控制序列

If statement Gnuplot下的If控制序列,if-statement,gnuplot,If Statement,Gnuplot,请问如何在Gnuplot下执行控制序列? 我需要做点什么 if (x == nan) set xrange[] else set xrange[10:30] ( x > 100000 ) ? (set xrange[]) : (set xrange[10:30]) 我试过类似的东西 if (x == nan) set xrange[] else set xrange[10:30] ( x > 100000 ) ? (set xrange[]) : (se

请问如何在Gnuplot下执行控制序列? 我需要做点什么

if (x == nan)
  set xrange[]

else
  set xrange[10:30]
( x > 100000 ) ?  (set xrange[]) : (set xrange[10:30])
我试过类似的东西

if (x == nan)
  set xrange[]

else
  set xrange[10:30]
( x > 100000 ) ?  (set xrange[]) : (set xrange[10:30])
。。。但是没有成功!我花了几个小时试图解决这个问题!! 需要帮忙吗?
最坏的情况下,我可以创建一个shell脚本来管理它,但我认为应该有一些控制序列来解决这个问题。

对于gnuplot 4.4.4,if语句必须在一行上:

if (x > 10000) set autoscale x; else set xrange [10:30]
或者使用
\
继续下一行

if (x > 10000) \
    set autoscale x; \
else \
    set xrange [10:30]
由于4.6.0 gnuplot可以使用括号来分隔分支:

if (x > 10000) {
    set autoscale x
} else {
    set xrange [10:30]
}

x
来自哪里?gnuplot有一个
if(…){}else{}
构造!事实上,我有自己的脚本,将“x”作为参数输入gnuplot文件。那么如果(x>10000){set-xrange[*:*]}或者{set-xrange[10:30]}?正如你所建议的,我尝试了这个“if(2==3){set-xrange[]}或者{set-xrange[10:30]}”,但它不起作用。你说“不起作用”是什么意思?对我来说,它工作正常,但需要4.6版。但是
设置xrange[]
不起任何作用,要使用自动缩放,请使用例如
设置xrange[*:*]
设置自动缩放x