如果控制序列在Gnuplot下

Cou*_*ier 20 if-statement gnuplot

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

if (x == nan)
  set xrange[]

else
  set xrange[10:30]
Run Code Online (Sandbox Code Playgroud)

我试过类似的东西

( x > 100000 ) ?  (set xrange[]) : (set xrange[10:30])
Run Code Online (Sandbox Code Playgroud)

......但没有成功!我花了几个小时试图解决这个问题!! 有什么帮助吗?在最坏的情况下,我可以创建一个shell脚本来管理它,但我认为应该有一些控制序列来解决这个问题.

Chr*_*oph 30

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

if (x > 10000) set autoscale x; else set xrange [10:30]
Run Code Online (Sandbox Code Playgroud)

或者\继续使用下一行.

if (x > 10000) \
    set autoscale x; \
else \
    set xrange [10:30]
Run Code Online (Sandbox Code Playgroud)

从4.6.0开始,gnuplot可以使用括号来分隔分支:

if (x > 10000) {
    set autoscale x
} else {
    set xrange [10:30]
}
Run Code Online (Sandbox Code Playgroud)