web-dev-qa-db-fra.com

Si séquence de contrôle sous Gnuplot

Comment effectuer des séquences de contrôle sous Gnuplot s'il vous plaît? J'ai besoin de faire quelque chose comme

if (x == nan)
  set xrange[]

else
  set xrange[10:30]

J'ai essayé quelque chose comme

( x > 100000 ) ?  (set xrange[]) : (set xrange[10:30])

... mais sans succès! J'ai passé des heures à essayer de résoudre ce problème !! Vous avez besoin d'aide? Au pire, je peux créer un script Shell et gérer cela, mais je pense qu'il devrait y avoir des séquences de contrôle pour résoudre ce problème.

20
Courier

Pour gnuplot 4.4.4, l'instruction if doit être sur une seule ligne:

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

ou utiliser \ pour continuer sur la ligne suivante.

if (x > 10000) \
    set autoscale x; \
else \
    set xrange [10:30]

Depuis 4.6.0, gnuplot peut utiliser des crochets pour délimiter les branches:

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