gnuplot-fr

Un programme de tracé interactif

Thomas Williams & Colin Kelley

Version 3.7 organisée par : David Denholm

Principaux contributeurs (ordre alpabétique) :

Copyright (C) 1986 - 1993, 1998 Thomas Williams, Colin Kelley

Listes de diffusion (anglophones) :

Commentaires : info-gnuplot@dartmouth.edu

Rapports de bug : bug-gnuplot@dartmouth.edu

Ce manuel a été préparé par Dick Crawford

3 Decembre 1998

traduit en français par Guilde Education, Aout 1999 - Avril 2000

G. Allegre, E. Fanchon, C. Boussard, V. Konieczek, A. Vareille, P. Giroud

intégrée et maintenue par Guillaume Allègre


gnuplot
Commandes
Interfaces utilisateur graphiques [interfaces, gui]
Bugs


gnuplot

Copyright
Introduction
Chercher de l'aide [support]
Nouveautés de la version 3.7 [nouveautes]
Mode Script/Interactif [script, interactif]
Edition de la ligne de commande [edition, historique]
Commentaires
Coordonnées
Environnement
Expressions
Glossaire
Tracer
Démarrer
Substitution
Syntaxe
Les données temporelles [temps, date]


Copyright

      Copyright (C) 1986 - 1993, 1998   Thomas Williams, Colin Kelley

La permission d'utiliser, de copier et de distribuer ce logiciel et sa documentation, quel que soit le but, en échange ou non d'une rémunération, est accordée, à condition que le copyright au-dessus apparaisse dans chaque copie, et que ce copyright et la présente permission apparaissent tous deux dans la documentation.

La permission de modifier le logiciel est accordée, mais pas celle de distribuer le code source complètement modifié. Les modifications doivent être distribuées sous forme de patches pour la version officielle. La permission de distribuer des binaires compilés à partir de sources modifiées est accordée, à condition :

  1. de distribuer les modifications correspondantes apportées au code source
     officiel, sous la forme d'un fichier patch accompagnant les binaires,
  2. d'ajouter un identifiant spécial de version, pour distinguer votre 
     version, en plus du numéro de version de base,
  3. de fournir vos noms et adresses, en tant que contact principal pour le
     support de votre version modifiée, et
  4. conserver les contacts d'origine afin de permettre à l'utilisateur de
     trouver le logiciel de base. 

La permission de distribuer la version officielle du code source, accompagnée des modifications sous forme d'un fichier patch est accordée avec les mêmes conditions que 2 à 4 pour les distributions binaires.

Ce logiciel est distribué "tel quel", sans autre garantie, explicite ou implicite, que celle fournie par la loi en vigueur.

AUTEURS

      Logiciel d'origine :
         Thomas Williams,  Colin Kelley.

      Compléments Gnuplot 2.0 :
         Russell Lang, Dave Kotz, John Campbell.

      Compléments Gnuplot 3.0 :
         Gershon Elber et bien d'autres.

      Traduction française de l'aide : (c) Guilde Education, Avril 2000
         G. Allegre, E. Fanchon, C. Boussard, V. Konieczek, 
         A. Vareille, P. Giroud, R. Mazière
      Contact : <Guillaume.Allegre@imag.fr> 


Introduction

gnuplot est un programme de tracé de fonctions et de données en ligne de commande. Il est sensible à la casse (les noms de commandes et fonctions écrits en minuscules sont différents de ceux écrits en majuscules). Tous les noms de commandes peuvent être abrégés, tant que l'abbréviation n'est pas ambigüe. Il est permis d'enchaîner plusieurs commandes sur une ligne, séparées par des points-virgules (;) mais les commandes load et call doivent être les dernières sur leur ligne. Les guillemets peuvent être simples ou doubles, par ex.

      load "fichier"
      cd 'dir'

bien qu'il y ait quelques subtiles différences (voir syntaxe pour plus de détails).

Les arguments passés à gnuplot en ligne de commande sont considérés comme des noms de fichiers contenant des commandes gnuplot, à l'exception des arguments standard X11, qui sont traités en premier. Chaque fichier est chargé par la commande charge, dans l'ordre spécifié. gnuplot termine dès que le dernier fichier est traité. Si aucun fichier n'est passé, gnuplot s'exécute en mode interactif. Le nom de fichier spécial "-" fait référence à l'entrée standard. Pour plus de détails, voir "help batch/interactive".

Beaucoup de commandes gnuplot ont de multiples options. Ces options doivent apparaître dans l'ordre spécicié, même si certaines peuvent être omises. Par exemple, si la commande complète est "commande a b c", alors "commande a c" marchera probablement, mais pas "commande c a".

Une commande peut s'étendre sur plusieurs lignes avec un backslash (\). Le backslash doit être le _dernier_ caractère de chaque ligne. L'effet est le même que si le backslash et le caractère nouvelle-ligne n'étaient pas là. En clair, aucun espace n'est ajouté, un commentaire n'est pas terminé. En conséquence, commenter une ligne continuée commente toute la commande (voir comment). Mais notez que si une erreur survient dans une commande multilignes, l'analyseur n'est pas capable de la localiser précisément, et ne pointera pas forcément sur la ligne en cause.

Dans ce document, les accolades ({}) entourent les arguments optionnels, et une barre verticale (|) sépare des choix mutuellement exclusifs. Les mots-clefs gnuplot et les sujets de l'aide help sont indiqués par des apostrophes inversées (backquotes) ou en gras (quand c'est disponible). Les crochets anguleux (<>) sont utilisés pour marquer les tokens remplaçables. Dans la plupart des cas, une valeur sera prise par défaut si un token est omis mais dans ces cas, les accolades autour des crochets anguleux sont parfois omises.

Pour l'aide en ligne sur tout sujet, tapez help suivi du nom du sujet, ou juste help ou ? pour obtenir un menu des sujets disponibles.

Le débutant gnuplot devrait commencer par lire plotting (tracé) (en ligne, taper help plotting).

Une démo simple de tracé


Chercher de l'aide [support]

Il existe une liste de diffusion d'utilisateurs gnuplot. Notez, cependant, que le forum (anglophone)

      comp.graphics.apps.gnuplot

est identique à la liste de diffusion (ils transportent les mêmes messages). Nous préférons que vous lisiez les messages sur le forum plutôt que de vous inscrire sur la liste de diffusion. Les requêtes administratives doivent être envoyées à

      majordomo@dartmouth.edu

Envoyez un message avec simplement le mot "help" dans le corps (pas dans le sujet) pour obtenir plus de détails.

L'adresse pour écrire à la liste de diffusion est :

      info-gnuplot@dartmouth.edu

Les rapports de bugs et les contributions au code doivent être envoyées à :

      bug-gnuplot@dartmouth.edu

La liste des personnes intéressées par les versions en beta-test :

      info-gnuplot-beta@dartmouth.edu

Il y a aussi une page Web, avec les dernières informations, dont les bugs connus :

      http://www.cs.dartmouth.edu/gnuplot_info.html
 

Avant de demander de l'aide, veuillez, s'il vous plaît, vérifier la FAQ (Foire Aux Questions) (en anglais). Si vous ne trouvez pas de copie de la FAQ, vous pouvez en demander une par courriel à l'adresse Majordomo donnée plus haut, la télécharger par ftp à

      ftp://ftp.ucc.ie/pub/gnuplot/faq,
      ftp://ftp.gnuplot.vt.edu/pub/gnuplot/faq,

ou aller consulter la page Web gnuplot.

Si vous posez une question, veuillez inclure tous les détails : version de gnuplot, machine, et système d'exploitation que vous utilisez. Un _petit_ script montrant le problème peut être utile. Les tracés de fonctions sont préférables aux tracés de données. Si vous envoyez un mail à info-gnuplot, veuillez signaler si vous êtes inscrit à la liste ou pas, de sorte que les utilisateurs du forum sachent s'il faut vous répondre par mail. Il y a un formulaire pour ce type de demande sur le site Web.


Nouveautés de la version 3.7 [nouveautes]

Gnuplot version 3.7 contient beaucoup de nouveautés. Cette section en donne une liste partielle et pointe vers les nouveaux sujets, sans ordre particulier.

1. fit f(x) 'file' via utilise la méthode de Marquardt-Levenberg pour interpoler les données. (Ce n'est que peu différent du patch gnufit disponible pour la version 3.5).

2. Commande using fortement étendue. Voir plot using.

3. set timefmt permet l'utilisation de dates en entrée et sortie pour les tracés de séries temporelles. Voir Time/Date data et timedat.dem.

4. Légendes multilignes et sélection de fontes dans certains drivers.

5. Graduations mineures (non étiquetées). Voir set mxtics.

6. Options key pour déplacer la légende (key box) dans la page (et même à l'extérieur du tracé), mettre un titre dessus, un rectangle autour, et plus encore. Voir set key.

7. Tracés multiples sur une seule page logique avec set multiplot.

8. Un driver postscript amélioré, avec exposants, indices et changements de fontes. (c'était un driver séparé (enhpost), disponible comme patch pour la version 3.5).

9. Seconds axes : utilisation des axes haut et droit indépendamment des axes bas et droit, à la fois pour le tracé et les graduations. Voir plot

10. Noms de fichiers de données spéciaux '-' et "". Voir plot special-filenames.

11. Nouveaux systèmes de coordonnées pour les étiquettes et les flèches. Voir coordinates.

12. set size peut essayer de tracer avec un ratio d'aspect (largeur/hauteur) spécifié.

13. set missing traite maintenant correctement les données manquantes.

14. La commande call (appel) : load (charge) avec des arguments.

15. Une commande range (intervalle) plus flexibles avec les mots-clefs reverse et writeback.

16. set encoding pour l'encodage multilingue.

17. Un nouveau driver x11 avec fenêtres persistantes et multiples.

18. De nouveaux styles de tracés : xerrorbars, histeps, financebars et plus encore. Voir set style.

19. De nouveaux formats d'étiquettes de graduations, dont "%l %L" qui utilise la mantisse et l'exposant d'une base donnée pour les étiquettes. Voir set format.

20. De nouveaux drivers, dont cgm pour l'inclusion dans les applications MS-Office et gif pour délivrer des tracés sur le Web.

21. Des options de lissage et d'interpolation par splines pour plot. Voir plot smooth.

22. set margin et set origin fournissent un contrôle largement amélioré sur l'emplacement d'un graphe sur la page.

23. set border contrôle maintenant chaque bord individuellement.

24. Les nouvelles commandes if et reread permettent de programmer des boucles.

25. Les styles et tailles de point, les types et épaisseurs de ligne peuvent être spécifiés dans la commande plot. Les types et épaisseurs de ligne peuvent aussi être précisés pour les grilles, les bords, les graduations et les flèches. Voir plot with. De plus, ces types peuvent être combinés et stockés pour réutilisation. Voir set linestyle.

26. Le texte (étiquettes d'axes, de graduations, et horodatage) peut être écrit verticalement par les terminaux qui le supportent.


Mode Script/Interactif [script, interactif]

gnuplot peut être exécuté en mode script (batch) ou interactif, et les deux peuvent même être mélangés sur la plupart des systèmes.

Tout argument passé en ligne de commande est interprété comme nom de fichier contenant des commandes gnuplot (à l'exception des arguments X11 standard, qui sont interprétés les premiers). Chaque fichier est chargé avec la commande load, dans l'ordre spécifié. gnuplot termine après le traitement du dernier fichier. Quand aucun fichier à charger n'est passé, gnuplot entre en mode interactif. Le nom de fichier spécial "-" est utilisé pour spécifier l'entrée standard.

Les commandes exit et quit terminent toutes deux le fichier de commande courant et passent au suivant, jusqu'à ce que tous aient été traités.

Exemples :

Pour lancer une session interactive :

      gnuplot

Pour lancer une session script exécutant 2 fichiers de commande "entree1" et "entree2" :

      gnuplot entree1 entree2

Pour lancer une session interactive après un fichier d'initialisation "entete" et suivie par un fichier de commande "final" :

      gnuplot entete - final


Edition de la ligne de commande [edition, historique]

L'édition de ligne de commande est supportée par les versions Unix, Atari, VMS, MS-DOS et OS/2 de gnuplot. Un mécanisme d'historique permet d'éditer et de ré-exécuter les commandes tapées. Quand la ligne de commande a été éditée, un retour-chariot valide la ligne entière, quelle que soit la position du cuseur. (La fonction readline de gnuplot n'est pas la même que celle utilisée dans GNU Bash et GNU Emacs. Si vous préférez la version GNU, elle peut être sélectionnée à la place de la version gnuplot à la compilation.)

Les commandes d'édition sont les suivantes :

      Edition de la ligne:

      ^B    revient d'un caractère en arrière.
      ^F    avance d'un caractère.
      ^A    revient au début de la ligne.
      ^E    avance à la fin de la ligne.
      ^H    efface le caractère précédent.
      ^D    efface le caractère courant.
      ^K    efface de la position courante à la fin de la ligne.
      ^L,^R réécrit la ligne au cas où elle soit polluée.
      ^U    efface toute la ligne.
      ^W    efface du mot courant à la fin de la ligne.

      Historique:

      ^P    remonte d'une commande dans l'historique (plus ancienne)
      ^N    redescend d'une commande dans l'historique (plus récente)

Sur les PCs DOS, l'utilisation d'un programme résident comme DOSEDIT ou CED peut être préférée pour l'édition de ligne. Le makefile par défaut suppose que c'est le cas : par défaut, gnuplot est compilé sans capacité d'édition de ligne. Si vous voulez utiliser l'édition de ligne de gnuplot, positionnez READLINE dans le makefile, et ajoutez readline.obj au fichier de lien. Les touches fléchées suivantes sont utilisées sur les versions PC DOS et Atari si readline est utilisé :

      Flèche Gauche      - same as ^B.
      Flèche Droite      - same as ^F.
      Ctrl Flèche Gauche - same as ^A.
      Ctrl Flèche Droite - same as ^E.
      Flèche Haut        - same as ^P.
      Flèche Bas         - same as ^N.

La version Atari de readline définit quelques touches supplémentaires :

      Undo            - same as ^L.
      Home            - same as ^A.
      Ctrl Home       - same as ^E.
      Esc             - same as ^U.
      Help            - help plus Entrée.
      Ctrl Help       - help .


Commentaires

Les commentaires sont supportés comme suit : un # peut apparaître à peu près n'importe où dans une ligne et gnuplot ignore le reste de la ligne. Le # n'a aucun effet entre 2 guillemets, à l'intérieur des nombres (y compris les complexes), à l'intérieur des substitutions de commandes, etc. En résumé, il marche partout où c'est sensé.


Coordonnées

Les commandes set arrow, set key, et set label permettent de dessiner quelque chose à une position arbitraire sur le graphe. Cette position est spécifiée par la syntaxe suivante :

      {<systeme>} <x>, {<systeme>} <y> {,{<systeme>} <z>}

Chaque <systeme> est un des 4 mots-clefs first, second, graph, screen.

first place la coordonnée x, y, ou z dans le repère défini par les axes de gauche et du bas ; second la place dans le repère défini par les seconds axes (haut et droite) ; graph spécifie la position par rapport à la surface entre les axes : 0,0 en bas à gauche et 1,1 en haut à droite (pour splot, 0,0,0 est en bas à gauche de l'aire de tracé ; utilisez des z négatifs pour descendre vers la base --- voir set ticslevel) ; enfin, screen spécifie l'aire de l'écran (toute la surface, pas seulement la portion sélectionnée par set size), avec 0,0 en bas à gauche et 1,1 en haut à droite.

Si le système de coordonnées n'est pas spécifié pour x, first est utilisé. S'il ne l'est pas pour y, le même que pour x est adopté.

Si l'un (ou plus) des axes est une série temporelle, les coordonnées appropriées doivent être données sous forme d'une chaîne entre guillemets conforme à la chaîne de format de temps timefmt. Voir set xdata et set timefmt. gnuplot acceptera aussi une expression entière, qui sera interprétée comme le nombre de secondes écoulées depuis le 1er janvier 2000.


Environnement

Plusieurs variables d'environnement du shell sont comprises par gnuplot. Aucune n'est indispensable, mais elles peuvent être utiles.

Si GNUTERM est définie, elles est utilisée comme nom du type de terminal à utiliser. Elle supplante tout type de terminal déterminé par gnuplot au démarrage, mais elle est elle-même supplantée par le fichier de configuration .gnuplot (ou équivalent, voir start-up ou demarrage), et, bien sûr, par tout changement explicite effectué plus tard.

Sous Unix, AmigaOS, AtariTOS, MS-DOS et OS/2, GNUHELP peut être défini pour contenir le chemin du fichier d'aide (gnuplot.gih).

Sous VMS, le nom logique GNUPLOT$HELP devrait définir le nom de la bibliothèque d'aide pour gnuplot. L'aide gnuplot peut être ajoutée dans toute bibliothèque d'aide système, permettant l'accès à l'aide depuis gnuplot ou depuis l'extérieur, indifféremment.

Sous Unix, HOME est utilisé comme nom du répertoire où chercher un fichier .gnuplot si aucun n'existe dans le répertoire courant. Sous AmigaOS, AtariTOS, MS-DOS et OS/2, gnuplot est utilisé. Sous VMS, SYS$LOGIN: est utilisé. Voir help start-up ou help demarrage.

Sous Unix, PAGER est utilisé comme filtre de sortie pour les messages d'aide.

Sous Unix, AtariTOS et AmigaOS, SHELL est utilisé pour la commande shell. Sous MS-DOS et OS/2, COMSPEC est utilisé pour la commande shell.

Sous MS-DOS, si l'interface BGI ou Watcom est utilisée, PCTERM est utilisé pour déclarer la résolution maximale de votre moniteur, en la mettant à S<résolution horiz. maxi>. Par exemple, si la résolution maximale de votre moniteur est 800x600, alors déclarez :

      set PCTRM=S800

Si PCTRM n'est pas définie, le VGA standard est utilisé.

FIT_SCRIPT peut être utilisée pour spécifier une commande gnuplot à exécuter quand un ajustement est interrompu --- voir fit. FIT_LOG spécifie le nom du fichier de rapport maintenu par fit.


Expressions

En général, toute expression mathématique conforme aux langages C, FORTRAN, Pascal, ou BASIC, est valide. La précédence des opérateurs est celle du C. Espaces et tabulations sont ignorés à l'intérieur des expressions.

Les constantes complexes s'expriment {<reel>,<imag>}, où <reel> et <imag> sont des nombres. Par exemple, {3,2} représente 3 + 2i; {0,1} représente 'i' lui-même. Les accolades sont obligatoires ici.

A noter que gnuplot gère aussi bien les "réels" que les "entiers", tout comme FORTRAN et C. Les entiers s'écrivent "1", "-10", etc ; les réels "1.0", "-10.0", "1e1", 3.5e-1, etc. La principale différence entre les deux concerne la division : le résultat de la division entre entiers est tronqué : 5/2 = 2 ; celui de la division entre réels ne l'est pas : 5.0/2.0 = 2.5. Dans les expressions mixtes, les entiers sont convertis en réels avant l'évaluation : 5/2e0 = 2.5. Le résulat de la division d'un entier négatif par un entier positif varie selon les compilateurs. Faites un test du genre "print -5/2" pour voir si votre système répond -2 ou -3.

L'expression entière "1/0" peut etre utilisée pour produire un message "undefined", ce qui fait que le point correspondant est ignoré ; l'opérateur ternary en donne un exemple.

Les parties réelles et imaginaires des expressions complexes sont toujours des réels quelle que soit la façon dont on les a saisies : dans {3,2} le "3" et le "2" sont des réels, pas des entiers.

Fonctions
Opérateurs
Variables et fonctions utilisateur [variables, utilisateur]


Fonctions

Les fonctions de gnuplot sont identiques aux fonctions correspondantes de la bibliothèque mathématique d'Unix (Unix math library), mis à part le fait que toutes les fonctions acceptent des arguments entiers, réels ou complexes, sauf s'il est spécifié explicitement autre chose.

Pour les fonctions qui prennent en arguments ou renvoient des angles, lesquels peuvent etre exprimés en degrés ou en radians (sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(x) and arg(z)), l'unité peut etre spécifiée à l'aide de set angles, la valeur par défaut étant le radian.

abs
acos
acosh
arg
asin
asinh
atan
atan2
atanh
besj0
besj1
besy0
besy1
ceil
cos
cosh
erf
erfc
exp
floor
gamma
ibeta
inverf
igamma
imag
invnorm
int
lgamma
log
log10
norm
rand
real
sgn
sin
sinh
sqrt
tan
tanh
column
tm_hour
tm_mday
tm_min
tm_mon
tm_sec
tm_wday
tm_yday
tm_year
valid


abs

La fonction abs renvoie la valeur absolue de l'argument. La valeur renvoyée est du même type que l'argument.

Pour les arguments complexes, abs(x) est le module de x [i.e., sqrt(real(x)**2 + imag(x)**2) ].


acos

La fonction acos renvoie l'arc cosinus de son argument (inverse du cosinus). acos renvoie une valeur en radians ou degrés, selon ce qui a été spécifié

 avec set angles.


acosh

La fonction acosh renvoie l'arg cosinus hyperpolique exprimé en radians.


arg

La fonction arg renvoie l'argument d'un nombre complexe, en degrés ou en radians, selon ce qui a été spécifié avec set angles.


asin

La fonction asin renvoie l'arc sinus de son argument. asin renvoie l'arc sinus de son argument, en degrés ou en radians, selon ce qui a été spécifié avec set angles.


asinh

La fonction asinh renvoie l'arg sinus hyperbolique de son argument en radians.


atan

La fonction atan renvoie l'arc tangente de son argument, en radians ou en degrés, selon ce qui a été spécifié avec set angles.


atan2

La fonction atan2 renvoie l'arc tangente du rapport entre les parties réelles de ses arguments. atan2 renvoie une valeur en radians ou degrés selon ce qui a été spécifié avec set angles, dans le quadrant convenable.


atanh

La fonction atanh renvoie l'arg tangente hyperbolique de son argument en radians


besj0

La fonction besj0 renvoie la j-0ième fonction de Bessel de son argument. L'argument de besj0 doit être en radians.


besj1

La fonction besj1 renvoie la j-première fonction de Bessel de son argument. L'argument de besj1 doit être en radians.


besy0

La fonction besy0 renvoie la y-0ième fonction de Bessel de son argument. L'argument de besy0 doit être en radians.


besy1

La fonction besy1 renvoie la y-première fonction de Bessel de son argument. L'argument de besy1 doit être en radians.


ceil

La fonction ceil renvoie le plus petit entier non inférieur à son argument. Pour les nombres complexes, ceil renvoie le plus petit entier non inférieur à la partie réelle de son argument.


cos

La fonction cos renvoie le cosinus de son argument. cos prend un argument en radians ou en degrés, selon ce qui a été spécifié avec set angles.


cosh

La fonction cosh renvoie the le cosinus hyperbolique de son argument. L'argument de cosh doit être en radians.


erf

La fonction erf renvoie la fonction d'erreur de la partie réelle de son argument. Si l'argument est complexe, la partie imaginaire est ignorée. La fonction d'erreur de x réel est définie par : erf(x) = 2/sqrt(pi) * intégrale de 0 à x de exp(-t*t) dt


erfc

La fonction erfc renvoie 1.0 moins la fonction d'erreur de la partie réelle de son argument (complémentaire à 1.0 de la fonction d'erreur). Si l'argument est complexe, la partie imaginaire est ignorée.


exp

La fonction exp renvoie la fonction exponentielle de son argument (e élévé à la puissance de cet argument). Dans certaines implementations (celle de Sun en particulier), exp(-x) renvoie une valeur indéfinie si x est très grand. Une fonction définie par l'utilisateur comme "safe(x) = x<-100 ? 0 : exp(x)" peut se révéler utile dans ce cas.


floor

La fonction floor renvoie le plus grand entier non supérieur à son argument. Pour des nombres complexes, floor renvoie le plus grand entier non supérieur à la partie réelle de son argument.


gamma

La fonction gamma renvoie la fonction gamma de la partie réelle de son argument. Elle est définie, pour x réel, par : gamma (x) = intégrale de 0 à +infini de t^(x-1) e^-t dt Pour un entier n, gamma(n+1) = n! Si l'argument est complexe la partie imaginaire est ignorée.


ibeta

La fonction ibeta renvoie la fonction beta incomplète des parties réelles de ses arguments. p, q > 0 et x dans l'intervalle [0:1]. Si les arguments sont complexes, les parties imaginaires sont ignorées.


inverf

La fonction inverf renvoie l'inverse de la fonction d'erreur de la partie réelle de son argument.


igamma

La fonction igamma renvoie la fonction gamma incomplète de la partie réelle de son argument. a > 0 et x >= 0. Si les arguments sont complexes, les parties imaginaires sont ignorées.


imag

La fonction imag renvoie le nombre réel partie imaginaire de son argument sous la forme d'un nombre réel.


invnorm

La fonction invnorm renvoie l'inverse de la fonction de distribution normale de la partie réelle de son argument.


int

La fonction int renvoie la partie entière de son argument, tronquée vers zéro.


lgamma

La fonction lgamma renvoie le logarithme naturel de la fonction gamma de la partie réelle de son argument. Si l'argument est complexe, la partie imaginaire est ignorée.


log

La fonction log renvoie le logarithme naturel (base e) de son argument.


log10

La fonction log10 renvoie le logarithme (base 10) de son argument.


norm

La fonction norm renvoie la fonction de distribution normale (ou gaussienne) de la partie réelle de son argument.


rand

La fonction rand renvoie un nombre pseudo-aléatoire de l'intervalle [0:1], la partie réelle de l'argument étant prise comme point de départ. Si ce point de départ est négatif, la séquence est (ré)initialisée. Si l'argument est complexe, sa partie imaginaire est ignorée.


real

La fonction real renvoie la partie réelle de son argument.


sgn

La fonction sgn renvoie 1 si son argument est positif, -1 si son argument est négatif, et 0 si son argument est 0. Si l'argument est complexe, sa partie imaginaire est ignorée.


sin

La fonction sin renvoie le sinus de son argument. L'argument de sin doit être en radians ou en degrés, selon ce qui a été spécifié avec set angles.


sinh

La fonction sinh renvoie le sinus hyperbolique de son argument. L'argument de sinh doit être en radians.


sqrt

La fonction sqrt renvoie la racine carrée de son argument.


tan

La fonction tan renvoie la tangente de son argument. L'argument de tan doit être en radians ou en degrés, selon ce qui a été spécifié avec set angles.


tanh

La fonction tanh renvoie la tangente hyperbolique de son argument. L'argument de tanh doit être en radians.

Quelques autres fonctions sont disponibles également.


column

column(x) ne peut être utilisé que dans des expressions using, pour la manipulation de fichiers de données à tracer (plot) ou à ajuster (fit). Voir plot fichier using.


tm_hour

La fonction tm_hour interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie l'heure (un entier allant de 0 à 23) sous la forme d'un réel.


tm_mday

La fonction tm_mday interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie le jour du mois (un entier allant de 1 à 31) sous la forme d'un entier.


tm_min

La fonction tm_min interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie la minute (un entier allant de 0 à 59) sous la forme d'un réel.


tm_mon

La fonction tm_mon interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie le mois (un entier allant de 1 à 12) sous la forme d'un réel.


tm_sec

La fonction tm_sec interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie la seconde (un entier allant de 0 à 59) sous la forme d'un réel.


tm_wday

La fonction tm_wday interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie le jour de la semaine (un entier allant de 1 à 7) sous la forme d'un réel.


tm_yday

La fonction tm_yday interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie le jour dans l'année (un entier allant de 1 à 366) sous la forme d'un réel.


tm_year

La fonction tm_year interprète son argument comme un temps mesuré en secondes à partir du 1er janvier 2000. Elle renvoie l'année (un entier) sous la forme d'un réel.


valid

valid(x) ne peut être utilisé que dans des expressions using, pour la manipulation de fichiers de données à tracer (plot) ou à ajuster (fit). Voir plot fichier using.


Opérateurs

Les opérateurs de gnuplot sont identiques aux opérateurs correspondants du langage C, à la différence qu'ils acceptent tous des arguments entiers, réels et complexes, sauf mention contraire. L'opérateur ** (exponentiation) est disponible, comme en FORTRAN.

Les parenthèses peuvent être utilisées pour changer l'ordre d'évaluation.

Unaire
Binaire
Ternaire


Unaire

Ce qui suit est une liste des opérateurs unaires avec leur usage :

    Symbole     Exemple    Explication
      -           -a         moins unaire
      +           +a         plus unaire (pas d'opération)
      ~           ~a       * complément à un
      !           !a       * négation logique
      !           a!       * factorielle
      $           $3       * appel arg/colonne pendant une manipulation using

(*) Les explications marquées d'une étoile indiquent que l'opérateur prend un argument entier.

La précédence des opérateurs est la même qu'en Fortran et C. De la même manière que dans ces langages, les parenthèses peuvent être utilisées pour changer l'ordre des opérations. Ainsi -2**2 = -4, mais (-2)**2 = 4.

L'opérateur factorielle retourne un nombre réel pour autoriser un plus grand domaine de valeurs.


Binaire

Ce qui suit est une liste des opérateurs binaires avec leur usage :

    Symbole      Exemple      Explication
      **          a**b          exponentiation
      *           a*b           multiplication
      /           a/b           division
      %           a%b         * modulo
      +           a+b           addition
      -           a-b           soustraction
      ==          a==b          égalité
      !=          a!=b          inégalité
      <           a<b           plus petit que
      <=          a<=b          plus petit ou égal
      >           a>b           plus grand que
      >=          a>=b          plus grand ou égal
      &           a&b         * ET bit à bit
      ^           a^b         * OU exclusif bit à bit
      |           a|b         * OU inclusif bit à bit
      &&          a&&b        * ET logique
      ||          a||b        * OU logique

(*) Les explications marquées d'une étoile indiquent que l'opérateur prend des arguments entiers.

Le ET (&&) et le OU (||) logiques court-circuitent de la même façon qu'en C. Cela signifie que le second opérande du && n'est pas évalué si le premier est faux ; le second opérande du || n'est pas évalué si le premier est vrai.


Ternaire

Il n'y a qu'un seul opérateur ternaire :

    Symbole      Exemple      Explication
      ?:          a?b:c     opération ternaire

L'opérateur ternaire se comporte comme en C. Le premier argument (a), qui doit être un entier, est évalué. S'il est vrai (non nul), le second argument (b) est évalué et retourné ; sinon le troisieme argument (c) est évalué et retourné.

L'opérateur ternaire est très utile à la fois pour construire des fonctions par morceaux et pour tracer des points seulement lorsque certaines conditions sont vérifiées.

Exemples :

1. Tracer une fonction qui est égale à sin(x) pour 0 <= x < 1, 1/x pour 1 <= x < 2, et non définie ailleurs :

      f(x) = 0<=x && x<1 ? sin(x) : 1<=x && x<2 ? 1/x : 1/0
      plot f(x)
 [ternary.gif]

Noter que gnuplot ignore silencieusement les valeurs non définies, et qu'ainsi la branche finale de la fonction (1/0) ne produira aucun point traçable. Noter aussi que f(x) sera tracée comme une fonction continue en dépit de la discontinuité si un style line est utilisé. Pour tracer de manière discontinue, créer des fonctions séparées pour les deux morceaux. (Les fonctions paramétriques sont aussi utiles dans cette situation.)

2. Ayant des données dans un fichier, tracer la moyenne des données des colonnes 2 et 3 en fonction de la donnée en colonne 1, mais seulement si la donnée en colonne 4 est positive ou nulle :

      plot 'fichier' using 1:( $4<0 ? 1/0 : ($2+$3)/2 )

Voir plot fichier using pour une explication de la syntaxe using.


Variables et fonctions utilisateur [variables, utilisateur]

De nouvelles variables définies par l'utilisateur, ainsi que de nouvelles fonctions de une a cinq variables, peuvent être déclarées et utilisées partout, y compris dans la commande plot elle-même.

Syntaxe de définition des fonctions :

      <nom-fonc>( <var1> {,<var2>} ... {,<var5>} ) = <expression>

où <expression> est définie en utilisant les variables <var1> à <var5>.

Syntaxe de définition des variables :

      <nom-variable> = <expression-constante>

Exemples :

      w = 2
      q = floor(tan(pi/2 - 0.1))
      f(x) = sin(w*x)
      sinc(x) = sin(pi*x)/(pi*x)
      delta(t) = (t == 0)
      ramp(t) = (t > 0) ? t : 0
      min(a,b) = (a < b) ? a : b
      comb(n,k) = n!/(k!*(n-k)!)
      len3d(x,y,z) = sqrt(x*x+y*y+z*z)
      plot f(x) = sin(x*a), a = 0.2, f(x), a = 0.4, f(x)

[userdefined.gif] Noter que la variable pi est prédéfinie. Mais ce nom n'a rien de magique ; vous pouvez le redéfinir pour représenter ce que vous voulez.

Les noms valides sont les mêmes que dans la plupart des langages de programmation : ils doivent commencer par une lettre, mais les caractères suivants peuvent être des lettres, des chiffres, "$", ou "_". Noter cependant que le mécanisme fit utilise plusieurs variables dont les noms commencent par "FIT_". Il est plus sûr d'éviter d'utiliser de tels noms. Néanmoins "FIT_LIMIT" est un de ceux que vous pouvez vouloir redéfinir. Voir la documentation sur fit pour les détails.

Voir show functions, show variables, et fit.


Glossaire

Tout au long de ce document un effort a été fait pour maintenir la cohérence de la nomenclature. Cet objectif ne peut pas être totalement atteint parce que gnuplot a evolué au cours du temps, certaines commandes et noms de mots-clés ont été adoptés qui empêchent cette perfection. Cette section contient des explications sur la façon dont ces termes sont utilisés.

Une "page" (page) ou un "écran" (screen) est la surface entière accessible à gnuplot. Sur un moniteur, c'est la surface de l'écran ; sur un traceur, c'est une feuille de papier.

Un écran peut contenir un ou plusieurs "tracés" (plot). Un tracé est défini par une abscisse et une ordonnée, bien qu'ils n'apparaissent pas nécessairement, ainsi que par les marges et le texte.

Un tracé contient un "graphe" (graph). Un graphe est défini par une abscisse et une ordonnée, bien qu'ils n'apparaissent pas nécessairement.

Un graphe peut contenir une ou plusieurs "courbes" (lines). Une courbe correspond à une fonction unique ou un jeu de données unique.

Les courbes d'un graphe peuvent avoir des noms individuels. Ceux-ci peuvent être listés acompagnés d'un échantillon du style de tracé utilisé pour les représenter dans la "légende" (key, legend).

Le mot "titre" apparaît dans gnuplot avec plusieurs sens. Dans ce document, il sera toujours accompagné des compléments "de tracé", "de courbe", ou "de légende" afin d'en préciser le sens.

Un graphe peut avoir jusqu'à quatre axes étiquetés. Diverses commandes ont le nom d'un axe inclu dans leur nom, comme set xlabel. D'autres commandes ont un ou plusieurs nom d'axe en option, comme set logscale xy. Les noms des quatre axes pour cet usage sont "x" pour l'axe parallèle au bord inférieur du tracé, "y" pour le bord gauche, "x2" pour le bord du haut, et "y2" pour le bord droit. "z" existe aussi dans les commandes de tracé 3D.

Dans la partie sur les fichiers de données, le terme "enregistrement" sera exhumé et utilisé pour dénoter une ligne de texte dans le fichier, c'est-à-dire tous les caractères entre deux saut-de-ligne ou fin d'enregistrement. Un "point" est une donnée extraite d'un enregistrement unique. Un "bloc de données" est un ensemble de points provenant d'enregistrements consécutifs, délimités par des enregistrements vides. Une ligne,dans le contexte d'un fichier de données, est un sous-ensemble d'un bloc de données.


Tracer

Il y a trois commandes gnuplot qui créent effectivement un tracé : plot, splot et replot. plot génère des tracés 2D, splot génère des tracés 3D (en fait des projections en 2D évidemment), et replot ajoute ses arguments aux précédents plot ou splot et exécute la commande modifiée.

La plupart des informations générales sur les tracés peuvent être trouvées dans la section sur plot ; les informations spécifiques à la 3D peuvent être trouvées dans la section sur splot.

plot opère soit en coordonnées rectangulaires, soit en coordonnées polaires (voir set polar pour les détails sur ces dernières). splot opère seulement en coordonnées rectangulaires, mais la commande set mapping permet de traiter quelques systèmes de coordonnées supplémentaires. De plus, l'option using permet à plot et splot de traiter presque tous les systèmes de coordonnées que vous prendrez la peine de définir.

splot peut tracer des surfaces et des contours en plus des points et/ou des lignes. En plus de splot, voir set isosamples pour des informations sur la définition des grilles de fonctions 3D ; splot fichier pour des informations sur la structure de fichier requise pour des valeurs de données 3D ; et set contour et set cntrparam pour des informations sur les contours.


Démarrer

Quand gnuplot est lancé, il cherche un fichier d'initialisation à charger. Ce fichier s'appelle .gnuplot sur les systèmes Unix et AmigaOS, et GNUPLOT.INI sur les autres systèmes. Si ce fichier n'est pas trouvé dans le répertoire courant, le programme va le chercher dans le répertoire utilisateur (home directory) (sous AmigaOS, Atari(single)TOS, MS-DOS et OS/2, la variable d'environnement gnuplot doit contenir le nom de ce répertoire). Note : si NOCWDRC est défini pendant l'installation, gnuplot ne lira pas le répertoire courant.

Si le fichier d'initialisation est trouvé, gnuplot exécute les commandes qu'il contient. Celles-ci peuvent être n'importe quelles commandes gnuplot légales, mais typiquement elles se limitent à configurer le terminal et à définir des fonctions ou des variables fréquemment utilisées.


Substitution

Les substitutions sur la ligne de commande sont spécifiées par une commande système délimitée par des apostrophes inverses. Cette commande est lancée en tant que sous-processus et la sortie qu'elle génère remplace le nom de la commande (et les apostrophes inverses) sur la ligne de commande. Certaines implémentations fournissent aussi les tubes (pipes). Voir plot fichier special.

Les newlines (sauts de ligne) dans la sortie produite par la commande fille sont remplacés par des blancs.

Les substitutions sur la ligne de commande peuvent être utilisées n'importe où dans la ligne de commande gnuplot.

Exemple :

Ceci lance le programme leastsq et remplace sur la ligne de commande leastsq (y compris les apostrophes inverses) par sa sortie :

      f(x) = leastsq

ou, sous VMS

      f(x) = run leastsq


Syntaxe

Les règles générales de syntaxe et de ponctuation dans gnuplot sont telles que les mots-clés et les options dépendent de leur ordre sur la ligne de commande. Les options et tous les paramètres d'accompagnement sont séparés par des espaces, alors que les éléments de listes et les coordonnées sont séparées par des virgules. Les bornes des intervalles sont séparées par des deux-points et mises entre crochets [a:b], les chaînes de caractère texte et les noms de fichier sont mis entre apostrophes '' ou entre guillemets anglais "", et diverses autres choses diverses sont placées entre parenthèses. Les accolades {} sont utilisées dans quelques cas spéciaux.

Les virgules sont utilisées pour séparer les coordonnées dans les commandes set arrow, set key, et set label ; la liste des variables qui sont ajustées (la liste après le mot-clé via dans la commande fit) ; les listes de contours discrets ou les paramètres de boucle qui les spécifient dans la commande set cntrparam ; les arguments des commandes set suivantes : dgrid3d, dummy, isosamples, offsets, origin, samples, size, time et view ; les listes de traits de graduation ou les paramètres de boucle qui les spécifient ; les retraits pour les étiquettes de titre et d'axe; les fonctions paramétriques à utiliser pour calculer les coordonnées x, y et z dans les commandes plot, replot et splot ; et les ensembles complets de mots-clés spécifiant des tracés individuels (jeu de données ou fonctions) dans les commandes plot, replot and splot.

Les parenthèses sont utilisées pour délimiter des suites de traits de graduation explicites (par opposition aux paramètres de boucles) et pour indiquer des calculs dans le filtre using des commandes fit, plot, replot et splot.

(Les parenthèses et les virgules sont aussi utilisées comme d'habitude dans les notations de fonctions.)

Les crochets sont utilisés pour délimiter les intervalles et domaines de définition, qu'ils soient donnés pour les commandes set, plot ou splot.

Les deux-points sont utilisés pour séparer les bornes dans les définitions d'intervalle par range (qu'ils soient donnés sur les commandes set, plot ou splot) et pour séparer les entrées dans le filtre using des commandes plot, replot, splot et fit.

Les points-virgules sont utilisés pour séparer plusieurs commandes données sur une ligne de commande unique.

Les accolades sont utilisées dans le texte pour être traitées spécialement par certains terminaux, comme postscript. Elles sont aussi utilisées pour noter les nombres complexes : {3,2} = 3 + 2i.

Du texte peut être délimité par des apostrophes simples ou des guillemets. Le traitement des séquences introduites par une contre-oblique (antislash) comme \n (newline) et \345 (code de caractère octal) est effectué pour les chaînes entre guillemets, mais pas pour les chaînes entre apostrophes.

La justification est la même pour chaque ligne d'une chaîne multi-ligne. Ainsi la chaîne centrée

   "Ceci est la première ligne de texte.\nCeci est la seconde ligne."

produira

                  Ceci est la première ligne de texte.
                       Ceci est la seconde ligne.

mais

   'Ceci est la première ligne de texte.\nCeci est la seconde ligne.'

produira

      Ceci est la première ligne de texte.\nCeci est la seconde ligne.

Les noms de fichier peuvent être entrés soit entre apostrophes soit entre guillemets. Dans ce manuel les exemples de commandes comportent généralement les fichiers entre apostrophes et les autres éléments de type chaîne entre guillemets pour plus de clarté.

Actuellement il ne faut pas inclure \n entre {} lorsque vous utilisez l'option étendue du terminal postscript.

Les pilotes EEPIC, Imagen, Uniplex, LaTeX et TPIC permettent de spécifier un retour à la ligne par \\ dans une chaîne entre apostrophes ou \\\\ dans une chaîne entre guillemets.

Les apostrophes inverses sont utilisées pour délimiter les commandes système pour substitution (voir help substitution).


Les données temporelles [temps, date]

gnuplot permet l'utilisation d'informations de temps et/ou date comme données d'entrée (données temporelles). Cette caractéristique est activée par les commandes set xdata time, set ydata time, etc.

A l'intérieur de gnuplot tous les temps et dates sont convertis en nombre de secondes par rapport à l'année 2000. La commande set timefmt définit le format pour toutes les entrées : fichiers de données, domaines, traits de graduation, étiquettes de position - bref, tout ce qui accepte une valeur doit la recevoir dans ce format. Puisqu'un seul format de donnée peut être en vigueur à un moment donné, toutes les quantités temps/date entrées au même moment doivent être présentées dans le même format. Ainsi si les données x et y sont simultanément temps/date, elles doivent être dans le même format.

Les conversions mettant en jeu des secondes sont basées sur le Temps Universel (qui est le même que le Temps Standard de Greenwich). Rien n'est prévu pour changer de fuseau horaire ou pour les changements d'horaires saisonniers. Si toutes vos données se réfèrent au même fuseau horaire (et sont toutes soit décalées soit standard) vous n'avez pas besoin de vous préoccuper de ces choses. Mais si le temps absolu est crucial pour votre application, vous devrez convertir en TU vous-même.

Les commandes comme show xrange ré-interprètent l'entier selon timefmt. Si vous changez timefmt, et ensuite refaites show sur la quantité, elle sera affichée dans le nouveau timefmt. Si vous désactivez les données temporelles (set xdata), la quantité sera montrée sous sa forme numérique.

La commande set format definit le format qui sera utilisé pour les étiquettes de traits de graduation, que l'axe spécifié soit temporel ou non.

Si l'information temporelle doit être tracée à partir d'un fichier, l'option using _doit_ être utilisée avec les commandes plot ou splot. Ces commandes utilisent simplement des espaces blancs pour séparer les colonnes, mais un espace blanc peut être inclus dans une chaîne temps/date. Si vous utilisez des tabulations comme séparateur, des essais-erreurs peuvent être nécessaires pour découvrir comment votre système les traite.

L'exemple suivant montre un tracé temporel.

Supposez que le fichier "données" contienne des enregistrements comme :

      03/21/95 10:00  6.02e23

Ce fichier peut être tracé par

      set xdata time
      set timefmt "%m/%d/%y"
      set xrange ["03/21/95":"03/22/95"]
      set format x "%m/%d"
      set timefmt "%m/%d/%y %H:%M"
      plot "data" using 1:3

ce qui va produire des étiquettes xtic telles que "03/21".

Voir les descriptions de chaque commande pour plus de détails.


Commandes

Cette section liste les commandes reconnues par gnuplot, dans l'ordre alphabétique. Les versions imprimées de ce document contiennent toutes les commandes ; les versions en ligne peuvent être incomplètes. En fait, sur certains systèmes, il peut n'y avoir aucune commande listée dans cette section.

Veuillez noter que dans la plupart des cas, des abréviations univoques des noms de commandes et de leurs options sont acceptées, par exemple "p f(x) w l" au lieu de "plot f(x) with lines".

Dans la description de la syntaxe, les accolades ({}) entourent les arguments optionnels et la barre verticale (|) séparent les options mutuellement exclusives.

cd
call
clear
exit
fit (ajustement) [fit]
help [help, aide]
if
load
pause
plot
print
pwd
quit
replot
reread
reset
save
set-show [set, show]
shell
splot
test
update


cd

La commande cd change le répertoire de travail.

Syntaxe :

      cd '<répertoire>'

Le nom du répertoire doit être entre guillemets.

Exemples :

      cd 'sousrep'
      cd ".."

Les utilisateurs de DOS _doivent_ utiliser des guillemets simples : le backslash [\] a une signification spéciale entre guillements doubles. Par exemple,

      cd "c:\newdata"

échoue, alors que

      cd 'c:\newdata'

marche correctement.


call

La commande call est similaire à la commande load, à l'exception que vous pouvez passer jusqu'à 10 paramètres supplémentaires à la commande, qui seront substitués dans les lignes provenant du fichier : chaque ligne lue est scannée à la recherche de séquences $n (dollar, suivi d'un chiffre 0 à 9). Une telle séquence est remplacée par le paramètre correspondant de la commande call. Si le paramètre était spécifié comme une chaîne dans la commande call, il sera substitué sans les guillemets qui le délimitent. $ suivi de n'importe quel autre caractère qu'un chiffre sera remplacé par ce caractère. Par exemple utilisez $$ pour obtenir un simple $. Fournir plus de dix paramètres sur la ligne de commande call cause une erreur. Un paramètre non fourni est remplacé par rien. Les fichiers de commande appelés par call peuvent eux-mêmes contenir des commandes call ou load.

La commande call _doit_ être la dernière de la ligne sur une ligne contenant plusieurs commandes.

Syntaxe :

      call "<fichier-entree>" <param-0> <param-1> ... <param-9>

Le nom du fichier d'entrée doit être entre guillemets, et il est recommandé que les paramètres le soient également ; les versions futures de gnuplot pourront traiter différemment les arguments entre et sans guillemets.

Exemple :

Si le fichier 'calltest.gp' contient la ligne :

      print "p0=$0 p1=$1 p2=$2 p3=$3 p4=$4 p5=$5 p6=$6 p7=x$7x"

l'entrée de la commande :

      call 'calltest.gp' "abcd" 1.2 + "'quoted'" -- "$2"

affichera :

      p0=abcd p1=1.2 p2=+ p3='quoted' p4=- p5=- p6=$2 p7=xx

NOTE : il y a une incohérence de syntaxe avec l'opérateur using pour les fichiers de données. Utilisez $$n ou column(n) pour accéder à la n-ième colonne d'un tracé de fichier de données appelé par call.


clear

La commande clear efface l'écran ou périphérique de sortie courant (spécifié par set output). Sur les périphériques d'impression graphique, elle génère en général un saut de page. Utilisez set terminal pour fixer le type de périphérique.

Pour certains terminaux, clear efface seulement la portion de surface de tracé définie par set size. Dans ce cas, elle peut donc être utilisée en conjonction avec set multiplot pour créer un encart.

Exemple:

      set multiplot
      plot sin(x)
      set origin 0.5,0.5
      set size 0.4,0.4
      clear
      plot cos(x)
      set nomultiplot

Veuillez vous référer à set multiplot, set size, et set origin pour une description détaillée de ces commandes.


exit

Les commandes exit et quit et le caractère EOF (fin de fichier) quittent le fichier de commandes gnuplot courant, et chargent (load) le suivant. Voir "help batch/interactive" pour plus de détails.

Chacune de ces commandes efface le périphérique de sortie (comme la commande clear) avant de quitter.


fit (ajustement) [fit]

La commande fit permet d'ajuster une fonction définie par l'utilisateur à un ensemble de points de données (x,y) ou (x,y,z), grâce à une implantation de l'algorithme des moindres carrés non linéaires de Levenberg-Marquardt. Toute variable définie par l'utilisateur apparaissant dans le corps de la fonction peut servir de paramètre d'ajustement, mais le type de retour de la fonction doit être réel.

Syntaxe :

      fit {[interv_x] {[interv_y]}} <fonction> '<fichier_données>'
          {modificateurs_fichier}
          via '<fichier_parametres>' | <var1>{,<var2>,...}

Les intervalles peuvent être spécifiés pour limiter les données à ajuster ; les données hors intervalle sont ignorées. La syntaxe est

      [{variable_muette=}{<min>}{:<max>}],

analogue à plot ; voir plot ranges.

<fonction> est une expression gnuplot valide, mais on utilise d'habitude une fonction préalablement définie par l'utilisateur de la forme f(x) ou f(x,y).

<fichier_données> est traité comme dans la commande plot. Tous les modificateurs de plot pour un fichier de données (using, every...) sont utilisables avec fit, sauf smooth. Voir plot datafile.

Les formats de donnée par défaut pour ajuster une fonction d'une seule variable, y=f(x), sont {x:}y ou x:y:s. Ces formats peuvent être changés grâce au modificateur using. La troisième colonne (constituée de nombres ou d'expressions), si elle est présente, est interprétée comme l'écart type de la valeur y correspondante, et est utilisée pour calculer un poids pour la donnée : 1/s**2. Sinon, toutes les données sont pondérées à 1.

Pour ajuster une fonction de deux variables z=f(x,y), le format obligatoire est using, avec 4 colonnes, x:y:z:s. Le format doit être complet ; aucune donnée par défaut n'est calculée en cas de valeur manquante. Les poids des données sont calculés selon 's' comme ci-dessus. Si les estimations d'erreurs ne sont pas disponibles, une valeur constante peut être spécifiée sous la forme d'une expression constante, par exemple using 1:2:3:1 (voir plot datafile using).

Plusieurs ensembles de données peuvent être ajustés simultanément pour des fonctions d'une variable, en transformant y en 'pseudo-variable' contenant, par exemple, le numéro de ligne de la donnée, et en calculant l'ajustement comme pour deux variables indépendantes. Voir fit multibranch.

Le qualificateur via spécifie quels paramètres doivent être ajustés, soit directement, soit en référençant un fichier de paramètres.

Exemples :

      f(x) = a*x**2 + b*x + c
      g(x,y) = a*x**2 + b*y**2 + c*x*y
      FIT_LIMIT = 1e-6
      fit f(x) 'measured.dat' via 'start.par'
      fit f(x) 'measured.dat' using 3:($7-5) via 'start.par'
      fit f(x) './data/trash.dat' using 1:2:3 via a, b, c
      fit g(x,y) 'surface.dat' using 1:2:3:(1) via a, b, c

A chaque étape de l'itération, des informations détaillées sur l'état courant de l'ajustement sont affichées. Les mêmes informations pour les états initial et final sont écrites dans un fichier de rapport, "fit.log". Elles sont toujours ajoutées à la fin du fichier, afin de ne pas perdre les rapports des ajustements précédents. En cas de besoin, ce fichier peut être renommé ou effacé.

L'ajustement peut être interrompu par Ctrl-C. A la fin de l'itération en cours vous avez le choix de (1) arrêter l'ajustement et accepter les valeurs des paramètres obtenues, (2) continuer l'ajustement, (3) exécuter une commande gnuplot comme spécifié par la variable d'environnement FIT_SCRIPT. Le contenu par défaut de FIT_SCRIPT est replot, donc si vous avez déjà tracé à la fois les données et la fonction à ajuster sur un même graphe, vous pouvez tracer l'état courant de l'ajustement.

Une fois que l'ajustement est terminé, la commande update peut être utilisée pour stocker les valeurs finales dans un fichier pour un usage ultérieur. Voir update pour plus de détails.

Paramètres ajustables [parametres]
guide du débutant [guide_debutant, guide]
estimation d'erreurs [erreurs]
contrôle d'ajustement [controle]
multi-branche
valeurs initiales [valeurs_initiales, initial]
trucs


Paramètres ajustables [parametres]

Il y a deux façons de spécifier les paramètres à ajuster avec via, soit directement sur la ligne de commande, soit indirectement en référençant un fichier de paramètres. Les deux méthodes utilisent des moyens différents de fixer les valeurs initiales.

Les paramètres ajustables peuvent être spécifiés par une liste de variables séparées par des virgules après le mot-clef via. Toute variable qui n'est pas encore définie est créée avec une valeur initiale de 1.0. Cependant, l'ajustement a plus de chances de converger rapidement si les variables sont initialisées avec des valeurs plus appropriées.

Dans un fichier de paramètres, les paramètres à ajuster, et leurs valeurs initiales, sont spécifiés, un par ligne, sous la forme

      nomvar = valeur

Les commentaires, marqués par un '#', et les lignes blanches sont permis. La forme spéciale

      nomvar = valeur      # FIXED

signifie que la variable est traitée comme un 'paramètre fixé', initialisé par le fichier de paramètres, mais pas ajusté par fit. Pour une plus grande clarté, il peut être utile de désigner des variables comme des paramètres fixes, de sorte que leurs valeurs soient inscrites dans le rapport de fit. Le mot-clef # FIXED doit apparaître exactement sous cette forme.


guide du débutant [guide_debutant, guide]

fit est utilisé pour trouver un ensemble de paramètres qui ajustent au mieux fonction définie par l'utilisateur sur des données. L'ajustement est estimé sur la base de la somme des carrés des différences (ou résidus), SCR, entre les données et les valeurs de la fonction, évaluée aux mêmes endroits. Cette quantité est souvent appelée "khi deux" (la lettre grecque khi, à la puissance 2). L'algorithme essaie de minimiser cette somme, ou plus précisément cette somme pondérée, SCRP, puisque les résidus sont pondérés par les erreurs sur les données d'entrée (ou par 1.0) avant d'être élevés au carré. C'est pourquoi il est appelé "ajustement aux moindres carrés". Voir fit estimation_erreur pour plus de détails.

Examinons un exemple pour comprendre ce que veut dire "non-linéaire" ici, mais d'abord il vaut mieux définir quelques termes. Ici il est commode d'utiliser z comme variable fonction d'une ou deux variables indépendantes, z=f(x) ou z=f(x,y). Un paramètre est une variable définie par l'utilisateur que fit va ajuster, ie une quantité inconnue dans la déclaration de la fonction. La linéarité (ou non-linéarité) se rapporte à la relation entre la variable liée, z, et les paramètres que fit ajuste, pas à la relation liant z à x et/ou y.

Dans les moindres carrés linéaires, la fonction définie par l'utilisateur est la somme de fonctions simples, ne dépendant d'aucun paramètre, chacune multipliée par un paramètre. Les moindres carrés non linéaires résolvent des fonctions plus compliquées, dans lesquelles les paramètres peuvent intervenir de nombreuses manières. Un exemple qui illustre la différence entre moindres carrés linéaires et non-linéaires est les séries de Fourier. Un terme peut être écrit sous la forme :

     z=a*sin(c*x) + b*cos(c*x).

Si a et b sont les paramètres et c est constante, alors estimer les valeurs des paramètres est un problème aux moindres carrés linéaire. Par contre, si c est un paramètre, le problème est non-linéaire.

Dans le cas linéaire, les valeurs des paramètres peuvent être déterminées par un calcul direct d'algèbre linéaire. Cependant, c'est un cas particulier qui peut également être résolu par la méthode générale (non-linéaire) itérative utilisée par gnuplot. fit tente de trouver le minimum en faisant une recherche : à chaque itération, il calcule SCRP (somme des carrés des résidus pondérés) avec un nouvel ensemble de paramètres. L'algorithme de Levenberg-Marquardt sélectionne les valeurs des paramètres pour l'itération suivante. Le processus continue jusqu'à ce qu'un critère prédéfini soit rempli : soit (1) l'ajustement a "convergé" (le changement relatif de SCRP est inférieur à FIT_LIMIT), soit (2) on a atteint une valeur limite pour le nombre d'itérations, FIT_MAXITER (voir variables_controle). L'ajustement peut aussi être interrompu puis stoppé au clavier (voir fit).

Souvent, la fonction à estimer est basée sur un modèle (ou une théorie) qui tente de décrire ou de prédire le comportement des données. fit peut alors être utilisé pour trouver les valeurs des paramètres libres du modèle, pour déterminer à quel point les données obéissent au modèle, et pour estimer un intervalle d'erreur pour chaque paramètre. Voir fit estimation_erreurs

D'un autre côté, en interpolation de courbes, les fonctions sont sélectionnées indépendamment d'un modèle, sur la base de l'expérience, dans le but de décrire l'allure des données avec un nombre minimal de paramètres*fonctions, mais une résolution suffisante. La solution de fit fournit alors une représentation analytique de la courbe.

Mais si ce qu'il vous faut vraiment, c'est une courbe lisse reliant vos données, l'option smooth de plot est peut-être plus appropriée que fit.


estimation d'erreurs [erreurs]

Dans fit, le terme "erreur" est utilisé dans deux contextes différents : l'estimation d'erreur sur les données, et l'estimation d'erreur sur les paramètres.

L'estimation d'erreurs sur les données est utilisée pour calculer le poids relatif de chaque donnée, intervenant dans le calcul de SCRP (la somme des carrés des résidus pondérés). Elle peut affecter l'estimation des paramètres, puisque elle détermine l'influence sur la valeur finale de l'écart de chaque point à la fonction ajustée. Certaines informations du rapport fourni par fit, dont les estimations d'erreur sur les paramètres, sont plus pertinentes si des estimations précises des erreurs sur les données sont fournies.

L'"aperçu statistique" décrit quelques sorties de fit et donne quelques prérequis pour les "modalités pratiques".

apercu statistique [apercu_statistique, apercu]
guide pratique [pratique, guide_pratique]


apercu statistique [apercu_statistique, apercu]

La théorie des moindres carrés non linéaires (MCNL) est en général décrite en termes de distribution normale des erreurs, c'est à dire que les données d'entrée sont supposées être un échantillon d'une population de moyenne et d'écart-type donnés, réparties selon une distribution gaussienne (normale). Pour un échantillon de taille suffisamment grande, et connaissant l'écart-type de la population, on peut utiliser les résultats sur la distribution du khi-deux pour évaluer la "pertinence de l'ajustement", en examinant la variable souvent appelée "khi-deux". Si l'on définit le nombre de degrés de liberté comme le nombre de données moins le nombre de paramètres à ajuster, et le khi-deux réduit comme khi-deux divisé par le nombre de degrés de liberté, il est ici suffisant de dire qu'un khi-deux réduit de 1.0 signifie que la somme pondérée des résidus au carré est celle attendue pour un échantillon pris au hasard parmi une population caractérisée par la fonction ajustée, avec les valeurs courantes des paramètres et des écarts-types.

Si l'écart-type pour la population n'est pas constant, comme en statistiques descriptives où variance = comptages, chaque point doit être pondéré individuellement en comparant les sommes des écarts observée et attendue.

En conclusion, fit indique "stdfit", l'écart-type de l'ajustement (en anglais, "standard deviation"), qui est la rms des résidus, et la variance des résidus, également appelée "khi-deux réduit", quand les points de données sont pondérés. Le nombre de degrés de liberté est utilisé dans ces estimations, car les paramètres utilisés dans le calcul des résidus proviennent des mêmes données.

Pour estimer les niveaus de confiance pour les paramètres, on peut utiliser le khi-deux minimum obtenu par l'ajustement, et effectuer des calculs de khi-deux pour déterminer la valeur du khi-deux corresponsant au niveau de confiance souhaité, mais cela demande considérablement plus de calcul de déterminer les combinaisons de paramètres qui produisent ces valeurs.

Plutôt que déterminer les intervalles de confiance, fit renvoie les estimations d'erreur sur les paramètres, qui sont directement obtenus à partir de la matrice de variance-covariance après la dernière itération. Par convention, ces estimations sont appelées "erreurs standard (asymptotiques)", puisqu'elles sont calculées de la même façon que les erreurs standard (écart type de chaque paramètre) d'un problème de moindres carrés linéaire (MCL), même si les conditions statistiques ne sont pas exactement remplies pour le problème MCNL. Les erreurs standard asymptotiques sont généralement trop optimistes et ne devraient pas être utilisées pour déterminer des intervalles de confiance, mais elles sont utiles pour des estimations qualitatives.

La solution finale produit aussi une matrice de corrélation, qui donne une indication sur la corrélation des paramètres dans la région de la solution ; si un des paramètres change de sorte que le khi-deux augmente, est-ce qu'un autre paramètre peut compenser ? Les éléments de la diagonale principale, coefficients d'autocorrélation, sont tous à 1 ; si tous les paramètres étaient indépendants, tous les autres coefficients seraient proches de 0. Deux variables qui se compensent parfaitement auraient un coefficient hors-diagonale de valeur absolue 1, avec un signe plus si la relation est proportionnelle, moins si elle est inversement proportionnelle. Plus la valeur absolue des coefficients non-diagonaux est petite, plus les estimations de l'écart type de chaque paramètre sont proches de l'erreur standard asymptotique.


guide pratique [pratique, guide_pratique]

Si vous avez une référence permettant d'assigner un poids à chaque point, cela vous permet d'utiliser de l'information supplémentaire sur vos mesures, par exemple, de prendre en compte que certains points sont plus fiables que d'autres. Cela peut affecter la valeur finale des paramètres.

Pondérer les données fournit une base à l'interprétation de la sortie supplémentaire fournie par fit après la dernière itération. Même si vous pondérez tous vos points par la même valeur, estimer un écart-type moyen plutôt qu'un poids uniforme de 1 fait de SCRP une variable sans dimension, comme l'est khi-deux par définition.

Pendant le calcul, chaque itération affiche des informations permettant d'évaluer les progrés de l'ajustement. Une "*" indique que l'algorithme n'a pas trouvé de SCRP plus petite, et réessaye. La somme des carrés des résidus ("sum of squares of residuals"), également appelée "khi-deux", est la SCRP entre les données et la fonction ajustée ; c'est ce que fit a minimisé. A ce niveau, avec des données pondérées, khi-deux est censé s'approcher du nombre de degrés de libertés (le nombre de données moins le nombre de paramètres). La SCRP peut être utilisée pour calculer le khi-deux réduit (SCRP/ddl) ou stdfit, l'écart-type de l'ajustement =sqrt(SCRP/ddl). Les deux sont données par le rapport, à partir de la SCRP finale.

Si les données ne sont pas pondérées, stdfit est la valeur rms de l'écart des données à la fonction ajustée, en unités utilisateur.

Si vous avez fourni des erreurs valides sur les données, que le nombre de données et suffisant, et que le modèle est correct, le khi-deux réduit devrait avoisiner l'unité. Pour plus de détails, consultez "la distribution du khi-deux" dans votre cours de statistiques préféré. Si c'est bon, il existe des tests plus poussés, qui dépassent le cadre de cet aperçu, pour déterminer l'adéquation du modèle aux données.

Un khi-deux réduit très supérieur à 1.0 peut être dû à des estimations d'erreur incorrectes, des erreurs ne suivant pas une distribution normale, des erreurs de mesure systématiques, des "points aberrants", ou un modèle de fonction incorrect. Un tracé des résidus, par exemple plot "datafile" using 1:($2-f($1)), peut vous aider à découvrir une tendance systématique. Un tracé superposé des points de données et de la fonction peut vous suggérer un autre modèle.

Similairement, un khi-deux réduit inférieur à 1.0 indique que SCRP est inférieur à celui attendu pour un échantillon aléatoire de la fonction, avec des erreurs distribuées selon la loi normale. Les estimations d'erreurs sur les données sont peut-être trop grandes, ou la fonction modèle trop générale, s'adaptant aux fluctuations d'un modèle particulier, en plus des tendances générales sous-jacentes. Dans ce dernier cas, une fonction plus simple peut être plus appropriée.

Vous devrez vous habituer à utiliser fit sur votre genre de problèmes avant d'être capable d'interpréter les erreurs standard, de façon plus pratique, comme des incertitudes sur les paramètres ou d'évaluer la pertinence de la matrice de corrélation. De ce fait, un "point aberrant" aura un effet exagéré sur la solution.


contrôle d'ajustement [controle]

Il y a plusieurs variables gnuplot qui peuvent être utilisées pour contrôler fit. Celles qui peuvent être définies après le lancement de gnuplot sont listées sous "variables_controle", celles définies avant le lancement de gnuplot sont sous "variables_environnement".

variables de contrôle [variables]
variables d'environnement [environnement]


variables de contrôle [variables]

L'epsilon limite par défaut (1e-5) peut être changé en affectant une valeur à

      FIT_LIMIT

Quand la somme des carrés des résidus change d'une itération à l'autre d'un facteur inférieur à ce nombre, on considère que l'ajustement a "convergé".

Le nombre maximum d'itérations peut être limité en affectant une valeur à

      FIT_MAXITER

Affecter une valeur de 0 (ou ne pas déclarer la variable) signifie qu'il n'y a pas de limite.

Si vous avez besoin d'un contrôle plus précis, et que vous maîtrisez l'algorithme de Levenberg-Marquardt, il y a d'autres variables que vous pouvez modifier. La valeur de départ de "lambda" est normalement calculée automatiquement à partir de la matrice de LM, mais vous pouvez indiquer la vôtre avec

      FIT_START_LAMBDA

Une valeur de FIT_START_LAMBDA inférieure ou égale à 0 sera remplacée par la valeur calculée automatiquement. La variable

      FIT_LAMBDA_FACTOR

contient le facteur par lequel "lambda" est augmenté ou diminué si le khi-deux de la fonction cible augmente ou diminue significativement. Une valeur de zéro est remplacée par le facteur par défaut, 10.0.

D'autres variables avec le préfixe FIT_ pourront être ajoutées à fit, donc il est préférable d'éviter ce préfixe pour des variables utilisateur.

Les variables FIT_SKIP et FIT_INDEX étaient utilisées par des versions précédentes de gnuplot, avec un patch pour fit appelé gnufit, et ne sont plus disponibles. Le modificateur every pour les fichiers fournit les fonctionnalités de FIT_SKIP. FIT_INDEX était utilisé pour l'ajustement multi-branche, mais l'ajustement multi-branche d'une variable indépendante est maintenant traité comme un ajustement pseudo-3D pour lequel la seconde variable indépendante et using sont utilisés pour spécifier la branche. Voir "ajustement multi-branche".


variables d'environnement [environnement]

Les variables d'environnement doivent être définies avant le démarrage de gnuplot. La manière de le faire dépend de votre système.

      FIT_LOG

change le nom (et/ou le chemin) du fichier de rapport d'ajustement. La valeur par défaut est "fit.log", dans le répertoire courant.

      FIT_SCRIPT

spécifie une commande à exécuter après une interruption utilisateur. La commande par défaut est replot, mais un plot ou un load peuvent être utiles pour afficher un tracé personnalisé permettant de visualiser l'avancement de l'ajustement.


multi-branche

Dans un ajustement multi-branche, plusieurs ensembles de points peuvent ajuster simultanément des fonctions d'une variable avec des paramètres communs, en minimisant la SCRP totale. La fonction et les paramètres (branche) de chaque ensemble de points sont sélectionnés en utilisant une "pseudo-variable", par exemple, soit le numéro de ligne de donnée (un index de colonne de -1), soit l'index de donnée, comme seconde variable indépendante.

Exemple : étant données 2 fonctions à décroissance exponentielles de la forme z=f(x), chacune décrivant un ensemble de données, mais de période de décroissance commune, estimer les valeurs des paramètres. Si le fichier de données est de format x:z:s, alors on effectuera :

     f(x,y) = (y==0) ? a*exp(-x/tau) : b*exp(-x/tau)
     fit f(x,y) 'datafile' using  1:-1:2:3  via a, b, tau

Pour un exemple plus compliqué, voir le fichier "hexa.fnc" utilisé par le tracé de démonstration "fit.dem".

Une pondération appropriée peut être nécessaire, car les poids peuvent entraîner la prédominance d'une branche s'il y a une différence d'intervalle pour la variable liée (y) entre les 2 branches. Eventuellement, ajuster chaque branche indépendamment, en utilisant la solution multi-branche comme valeurs initiales, peut vous donner une idée de l'influence relative de chaque branche sur la solution commune.


valeurs initiales [valeurs_initiales, initial]

L'ajustement non-linéaire n'est pas assuré de converger vers l'optimum global (la solution de plus petite SCRP), et peut rester bloquer dans un minimum local. La routine n'a aucun moyen de le déterminer ; c'est à vous de juger si c'est le cas.

fit peut se retrouver perdu s'il démarre d'une région loin d'une solution, où SCRP est grande et varie lentement en fonction des paramètres, ou peut atteindre une région numériquement instable (par exemple, un flottant trop grand causant un débordement -floating point overflow-) qui résulte en un message "undefined value" ou un arrêt de gnuplot.

Pour augmenter les chances de trouver l'optimum global, vous avez intérêt à positionner les valeurs initiales au voisinage (approximatif) de la solution, par exemple, à moins d'un ordre de grandeur, si possible. Plus vos valeurs initiales sont proches de la solution, plus les risques de s'arrêter sur un autre optimum (local) sont faibles. Une manière de trouver des valeurs initiales est de tracer les données et la fonction à ajuster sur le même graphe, et de changer les valeurs des paramètres, et de faire replot jusqu'à trouver une ressemblance raisonnable. Le même tracé est également utile pour vérifier si l'ajustement n'a pas stoppé dans un minimum local qui n'"ajuste" pas bien.

Bien sûr, un ajustement raisonnablement bon n'est pas une preuve qu'il n'en existe pas de "meilleur" (soit dans le sens statistique, caractérisé par un critère d'adéquation plus élevé, soit dans le sens physique, ie une solution plus cohérente avec le modèle). Selon le problème, il peut être utile de tenter différents ajustements, avec des ensembles variés de valeurs initiales couvrant un intervalle raisonnablement large pour chaque paramètre.


trucs

Voici quelques trucs à garder à l'esprit pour utiliser efficacement fit. Ils ne sont pas très organisés, donc il vous faudra les lire plusieurs fois afin de vous en pénétrer pleinement.

Les deux formes de l'argument via de fit ont deux utilisations largement distinctes. La forme via "fichier" est plus adaptée au traitement en lot, où vous fournissez juste les valeurs initiales dans un fichier et pouvez ultérieurement utiliser update pour copier les résultats dans un autre (ou le même) fichier de paramètres.

La forme via var1, var2, ... est utilisée interactivement, avec l'aide de l'historique des commandes, pour éditer la liste des paramètres ou fournir de nouvelles valeurs initiales pour un nouvel essai d'ajustement. C'est particulièrement utile pour des problèmes difficiles, où un ajustement direct de tous les paramètres à la fois ne marche qu'avec de bonnes valeurs initiales. Pour les trouver, vous pouvez itérez plusieurs fois un ajustement partiel (certains paramètres), jusqu'à ce que les valeurs soient suffisamment proches de la solution.

Assurez vous qu'il n'y a pas de dépendance mutuelle entre les paramètres de la fonction que vous ajustez. Par exemple, n'essayez pas d'ajuster a*exp(x+b), puisque a*exp(x+b) = a*exp(b)*exp(x). Ajustez plutôt a*exp(x) OU exp(x+b) [plutôt la première forme, voir ci-après].

Un problème technique : les paramètres ne doivent pas être trop différents en ordre de grandeur. Plus le rapport entre le plus petit et le plus grand paramètre (en valeur absolue) est grand, plus l'ajustement va mettre du temps à converger. Si le rapport est proche ou plus grand que l'inverse de l'epsilon machine, ça peut prendre un temps infini pour converger, ou même ne pas converger du tout. Vous devez alors adapter votre fonction pour éviter ceci, par exemple; remplacer le paramètre "p" par "1e9*p" dans la définition de la fonction, et diviser la valeur initiale par 1e9.

Si vous pouvez écrire votre fonction comme combinaison linéaire de fonctions simples, chacune multipliée par un paramètre à ajuster, faites le. Cela aide grandement, en rendant le problème linéaire. La convergence s'effectue en un petit nombre d'opérations, éventuellement une seule.

Certaines recettes pour l'analyse de données, données dans des cours de pratique expérimentale, ont pu vous dire de procéder pas à pas, en ajustant tout d'abord certaines fonctions, pour en déduire certaines informations, souvent dans le but de souligner la théorie expliquant ces données, puis d'extraire l'information que vous voulez des paramètres de ces fonctions. Avec fit, tout peut souvent être fait en un seul pas, en écrivant directement la fonction modèle en terme de paramètres à ajuster. La transformation des données peut souvent être évitée, parfois au prix d'une plus grande complexité du problème à résoudre. Si vous pensez que cela contredit le paragraphe précédent sur la simplification de la fonction à ajuster, vous avez raison.

Un message "singular matrix" (matrice singulière) indique que l'implémentation de l'algorithme de Levenberg-Marquardt ne peut pas calculer les valeurs des paramètres pour l'itération suivante. Essayez des valeurs initiales différentes, une fonction plus simple, ou écrite sous une autre forme.

En conclusion, une jolie citation d'un autre logiciel d'ajustement (fudgit), qui résume un peu tous ces problèmes : "L'ajustement non-linéaire est un art."


help [help, aide]

La commande help affiche l'aide en ligne. Pour obtenir de l'information sur un sujet particulier, utilisez la syntaxe :

       help {<sujet>}

Si <sujet> n'existe pas, un message court sur gnuplot s'affiche. Une fois que l'aide requise sur le sujet a été fournie, un menu avec des sous-sujets apparaît. On peut étendre l'aide requise en demandant de l'aide sur l'un des sous-sujets : pour obtenir cette aide, tapez le nom du sous-sujet. Quand le sous-sujet a été affiché, l'aide peut être étendue une fois de plus, mais vous pouvez aussi remonter d'un niveau au sujet précédent. Finalement, la ligne de commande gnuplot réapparaîtra.

Si un point d'interrogation (?) est entré comme sujet de l'aide, la liste de tous les sujets disponibles est affichée à l'écran.

NOTES POUR LA VERSION FRANCAISE : Vous pourrez trouver après les intitulés de certains sujets d'aide, soit la version originale du sujet, entre parenthèses (), soit l'indication des mots-clés correspondant au sujet, entre crochets []


if

La commande if permet l'exécution conditionnelle de commandes.

Syntaxe:

       if (<condition>) <ligne-de-commande>

<condition> va être évaluée. Si elle est réalisée (non-nulle), alors les commandes de la <ligne-de-commande> seront exécutées. Si elle n'est pas réalisée (nulle), alors la totalité de <ligne-de-commande> est ignorée. Notez que l'utilisation de ; pour permettre plusieurs commandes sur la même ligne ne termine pas les commandes conditionnées.

Exemples :

       pi=3
       if (pi!=acos(-1)) print "?Ajustement de pi!"; pi=acos(-1); print pi

affichera:

       ?Ajustement de pi!
       3.14159265358979

mais

       if (1==2) print "Jamais vu ça"; print "Ni ça non plus"

n'affichera rien du tout.

Voir reread pour avoir un exemple de comment if et reread peuvent être utilisés ensemble pour réaliser une boucle.


load

La commande load exécute chaque ligne du fichier d'entrée spécifié comme si elle avait été tapée de façon interactive. Les fichiers créés par la commande save peuvent ultérieurement être chargés par load. N'importe quel fichier texte contenant des commandes valides peut être exécuté par load. Les fichiers chargés par load peuvent eux-mêmes contenir les commandes load et call. Voir "commentaires" pour avoir des informations sur les commentaires dans les commandes. Pour charger un fichier avec des arguments, voir call.

La commande load doit être la dernière sur une ligne de plusieurs commandes.

Syntaxe :

       load "<fichier-d-entrée>"

Le nom du fichier d'entrée doit être entre guillemets.

Le fichier spécial "-" peut être utilisé pour charger des commandes depuis l'entrée standard. Ceci permet à un fichier de commandes gnuplot d'accepter quelques commandes depuis l'entrée standard. Veuillez vous référer à "help batch/interactive" pour plus de détails.

Exemples :

       load 'work.gnu'
       load "func.dat"

La commande load est exécutée implicitement sur tous les fichiers passés en argument à gnuplot. Ceux-ci sont chargés dans l'ordre spécifié, puis gnuplot s'arrête.


pause

La commande pause affiche un texte associé à la commande puis attend pendant un laps de temps spécifié ou jusqu'à ce que le retour chariot soit pressé. pause est spécialement utile en conjonction avec des fichiers chargés par load.

Syntaxe :

       pause <temps> {"<chaine>"}

<temps> peut être un entier constant ou une expression. Choisir -1 permet d'attendre jusqu'à ce que le retour chariot soit pressé ; choisir 0 ne donnera pas de pause ; choisir un entier positif permet d'attendre le nombre de secondes spécifiées. pause 0 est synonyme de print.

Note : du fait que pause communique avec le système d'exploitation et non avec les graphiques, elle peut se comporter différemment selon les différents terminaux (suivant comment le texte et le graphisme sont liés).

Exemples :

       pause -1    # Attend jusqu'à ce que le retour chariot soit pressé
       pause 3     # Attend trois secondes
       pause -1  "Presser Entrée pour continuer"
       pause 10  "N'est ce pas mignon ? C'est une spline cubique"


plot

plot est la principale commande pour effectuer des tracés avec gnuplot. Elle crée des tracés de fonctions et de données, de nombreuses manières différentes. plot est utilisée pour les tracés 2d ; splot dessine des projections 2d de tracés 3d (surfaces et données). plot et splotont de nombreuses caractéristiques communes ; voir splotpour leurs différences. Notez en particulier que les options binary (binaire) et matrix (matrice) de splot n'existent pas pour plot.

Syntaxe :

      plot {<intervalles>}
           {<fonction> | {"<fichier_donnees>" {modif_fichier_donnees}}}
           {axes <axes>} {<titre>} {with <style>}
           {, {definitions,} <fonction> ...}

où soit une <fonction> soit le nom d'un fichier de données (entre guillemets) est fourni. Une fonction est une expression mathématique, ou une paire d'expressions mathématiques en mode paramétrique. Les expressions peuvent avoir été définies entièrement ou en partie précédemment dans les commandes gnuplot (voir user-defined).

Il est aussi possible de définir les fonctions et les paramètres dans la commande plot elle-même. Ca se fait essentiellement en les isolant des autres arguments par des virgules.

Il y a 4 (2x2) ensembles possibles d'axes disponibles ; le mot-clef <axes> est utilisé pour sélectionner les axes pour lesquels une courbe particulière doit être tracée. x1y1 désigne les axes bas et gauche ; x2y2 les axes haut et droit ; x1y2 les axes haut et gauche, et x2y1 les axes bas et droite. Les intervalles spécifiés dans la commande plot s'appliquent seulement au premier ensemble d'axes (x1y1).

Exemples :

      plot sin(x)
      plot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x)
      plot [t=1:10] [-pi:pi*2] tan(t), \
           "data.1" using (tan($2)):($3/$4) smooth csplines \
                    axes x1y2 notitle with lines 5

fichier de données [fichier, donnees]
errorbars (barres d'erreur)
paramétrique (parametric)
intervalles (ranges)
title (titre)
with (avec -style-)


fichier de données [fichier, donnees]

Des données discrètes contenues dans un fichier peuvent être tracées, en spécifiant le nom du fichier de donées entre guillemets (simples ou doubles) dans la commande plot.

Syntaxe :

      plot '<file_name>' {index <index list>}
                            {every <every list>}
                            {thru <thru expression>}
                            {using <using list>}
                            {smooth <option>}

Les modificateurs index, every (1 tous les n), thru (par), using, et smooth (lisse) sont expliqués en détail plus loin. En résumé, - index indique quels ensembles de données doivent être tracés dans un fichier contenant plusieurs groupes de données ; - every indique quels points doivent être tracés, dans un unique ensemble de données ; - using détermine comment les colonnes d'un seul enregistrement doivent être interprétées (thru est un cas particulier de using) ; - smooth permet une interpolation et une approximation simples. (splot a une syntaxe similaire mais ne permet ni l'usage de smooth ni celui de thru).

Les fichiers de données devraient contenir au moins un point-donnée par enregistrement (using peut sélectionner un point dans l'enregistrement). Les enregistrements commençant par # (et aussi ! sous VMS) seront traités comme commentaires et ignorés. Chaque point de données représente une paire (x,y). Pour les tracés avec barres d'erreur (voir set style errorbars), chaque point de donnée est de la forme (x,y,ydelta), (x,y,ybas,yhaut), (x,y,xdelta), (x,y,xbas,xhaut), ou (x,y,xbas,xhaut,ybas,yhaut). Dans tous les cas, les nombres de chaque enregistrement du fichier doivent être séparés par un blanc (un ou plusieurs espaces ou tabulations), à moins qu'une spécification de format ne soit fournie par l'option using. Ces espaces divisent chaque enregistrement en colonnes.

Les données peuvent être écrites en notation scientifique, l'exposant étant précédé par la lettre e, E, d, D, q ou Q.

Une seule colonne est indispensable : la valeur y. Si x est omis, gnuplot utilise des valeurs entières, à partir de 0.

Dans les fichiers de données, les enregistrements vides (sans caractères autres que des blancs et un saut de ligne et/ou un retour chariot) sont significatifs : les paires d'enregistrements vides séparent les index (voir plot fichier index). Les données séparées par deux enregistrements vides sont traités comme provenant de fichiers séparés.

Les enregistrements vides simples désignent des discontinuités dans un tracé : aucune ligne ne joindra des points séparés par un enregistrement vide (s'ils sont tracés avec le style ligne).

Si le calcul automatique de l'intervalle a été sélectionné (set autoscale), les axes sont automatiquement étendus pour inclure tous les points, avec un nombre entier de graduations (si elles sont tracées). A ceci, deux conséquences : i) Avec splot, le coin de la surface peut ne pas coïncider avec le coin de la base. Dans ce cas, aucune ligne verticale n'est tracée. ii) En cas de tracé de données sur le même intervalle x, sur un graphe à deux ensembles d'axes, les coordonnées x peuvent ne pas coïncider si les graduations x2 (x2tics) ne sont pas tracées. C'est parce que l'axe x a été étendu automatiquement à un nombre entier de graduations, mais pas l'axe x2. L'exemple suivant illustre le problème :

      reset; plot '-', '-'
      1 1
      19 19
      e
      1 1
      19 19
      e

every (tous les)
Exemple de fichiers de données [fichier exemple]
index
smooth (lissage)
noms de fichiers spéciaux [fichier special]
thru
using


every (tous les)

Le mot-clef every permet un échantillonnage périodique de l'ensemble des données à tracer.

Dans la suite, un "point" est une donnée définie par un seul enregistrement dans le fichier, et "bloc" aura le même sens que "bloc de données" (datablock, voir glossaire).

Syntaxe :

      plot 'fichier' every {<incr_point>}
                          {:{<incr_bloc>}
                            {:{<point_debut>}
                              {:{<bloc_debut>}
                                {:{<point_fin>}
                                  {:<bloc_fin>}}}}}

Les points à tracer sont sélectionnés parmi les données selon une boucle entre <point_debut> et <point_fin> avec l'incrément <incr_point>, et les blocs selon une boucle entre <bloc_debut> et <bloc_fin> avec l'incrément <incr_bloc>.

La première donnée de chaque bloc est numéroté '0', de même que le premier bloc du fichier.

Notez que les enregistrements qui contiennent des informations non traçables sont comptés.

Chacun des nombres peut être omis ; l'incrément est 1 par défaut, les valeurs de début et de fin sont prises sur le premier et le dernier point ou bloc. Si every est omis, tous les points de toutes les lignes sont tracés.

Exemples :

      every :::3::3    # sélectionne juste le 4e bloc (le premier est '0')
      every :::::9     # sélectionne les 10 premiers blocs
      every 2:2        # sélectionne un point sur deux dans un bloc sur deux
      every ::5::15    # sélectionne les points 5 à 15 de chaque bloc
 Démos de tracés simples (plot),
 Démos de tracés de surfaces non paramétriques (splot), and
 Démos de tracés de surfaces paramétriques.


Exemple de fichiers de données [fichier exemple]

Cet exemple trace les données du fichier "population.dat" et une courbe théorique :

      pop(x) = 103*exp((1965-x)/10)
      plot [1960:1990] 'population.dat', pop(x)

Le fichier "population.dat" pourrait contenir :

      # Population de gnous (Gnu) en Antarctique depuis 1965
         1965   103
         1970   55
         1975   34
         1980   24
         1985   10

[population.gif]


index

Le mot-clef index permet de tracer seulement un sous-ensemble de données dans un fichier contenant plusieurs échantillonnages.

Syntaxe :

      plot 'fichier' index <m>{{:<n>}:<p>}

Les ensembles de données sont séparés par des paires d'enregistrements vides. index <m> sélectionne seulement l'ensemble <m> ; index <m>:<n> sélectionne les ensembles dans l'intervalle <m> à <n> ; index <m>:<n>:<p> sélectionne les indices <m>, <m>+<p>, <m>+2<p>, etc. mais s'arrêtant à <n>. L'indice 0 est assigné au premier ensemble de données du fichier. Spécifier un indice trop large renvoie un message d'erreur. Si index n'est pas spécifié, tous les ensembles de données sont tracés comme un seul ensemble.

Exemple :

      plot 'fichier' index 4:5
 Démo de splot avec index.


smooth (lissage)

gnuplot inclut quelques routines générales pour l'interpolation et l'approximation des données ; elles sont groupées sous l'option smooth. Des traitements plus sophistiqués peuvent être effectués en pré-traitant les données extérieurement ou en utilisant fit avec un modèle approprié.

Syntaxe :

      smooth {unique | csplines | acsplines | bezier | sbezier}

unique trace les données après les avoir rendu monotones. Toutes les autres routines utilisent les données pour détermineir les coefficients d'une courbe continue entre les points extrêmaux des données. Cette courbe est alors tracée comme une fonction, c'est à dire en calculant ses valeurs à intervalles réguliers sur l'abscisse (voir set samples) et en connectant ces points par des segments de droites (si un style ligne est choisi).

Si autoscale est en service, les intervalles seront calculés pour que la courbe tracée soit située à l'intérieur des bordures du graphe.

Si trop peu de points sont disponibles pour appliquer l'option sélectionnée, un message d'erreur est produit. Le nombre minimal est d'un point pour unique, quatre pour acsplines, et trois pour les autres options.

Les options smooth n'ont aucun effet sur les tracés de fonctions.

acsplines
bezier
csplines
sbezier
unique


acsplines

L'option acsplines approche les données par une "spline de lissage naturelle".

Après que les données sont ordonnées selon les x croissants (voir smooth unique), une courbe est construite par morceaux, par des segments de polynômes cubiques, dont les coefficients sont calculés à partir des points pondérés des données. Les poids sont pris dans la 3e colonne du fichier de données. Ce comportement par défaut peut être modifié par la 3e entrée de la liste using, par exemple :

       plot 'fichier' using 1:2:(1.0) smooth acsplines

Qualitativement, la valeur absolue des poids détermine le nombre de segments utilisés pour construire la courbe. Si les poids sont élevés, l'effet de chaque donnée est important et la courbe les approche en connectant les points consécutifs par des splines cubiques naturelles. Si les poids sont faibles, la courbe est composée de moins de segments et est donc plus lisse ; le cas limite est un simple segment produit par un ajustement aux moindres carrés pondéré sur toutes les données. Le poids de lissage peut s'exprimer en termes d'erreurs comme : un poids statistique pour un point divisé par un "facteur de lissage" pour la courbe, de sorte que les erreurs (standard) du fichier puissent être utilisées en tant que poids de lissage.

Exemple :

      sw(x,S)=1/(x*x*S)
      plot 'fichier' using 1:2:(sw($3,100)) smooth acsplines


bezier

L'option bezier approche les données par une courbe de Bézier de degré n (le nombre de points de données) qui relie les points extrêmaux.


csplines

L'option csplines connecte les points consécutifs par des splines cubiques naturelles après avoir rendu les données x-monotones (voir smooth unique).


sbezier

L'option sbezier rend tout d'abord les donées monotones (unique), puis applique l'algorithme bezier.


unique

L'option unique rend les données monotones en x ; les points de même abscisse sont remplacés par un seul point d'ordonnée moyenne. Les points résultant sont connectés par des segments de droite. Voir les démos.


noms de fichiers spéciaux [fichier special]

Le nom de fichier spécial '-' spécifie que les données sont en ligne, ie elles suivent la commande. Seulent les données suivent la commande, les options de plot comme les filtres, titres, styles, etc. restent sur la ligne de commande plot. C'est similaire à << des scripts shell Unix et à $DECK en DCL VMS. Les données sont rentrées comme si elles étaient lues d'un fichier, un point par enregistrement. La lettre "e" en début de première colonne termine l'entrée des données. L'option using peut être appliquée à ces données : s'en servir pour les filtrer par une fonction peut avoir un sens, pour sélectionner certaines colonnes peut-être pas !

'-' est prévu pour les situations où il est utile d'avoir les données et les commandes ensemble, par exemple quand gnuplot est lancé comme sous-processus d'une application frontale. Certaines des démos, par exemple, utilisent cette caractéristique. Bien que les options index et every de plot soient reconnues, leur usage force à entrer des données inutiles. Par exemple, bien que :

      plot '-' index 0, '-' index 1
      2
      4
      6

      10
      12
      14
      e
      2
      4
      6

      10
      12
      14
      e

marche tout-à-fait,

      plot '-', '-'
      2
      4
      6
      e
      10
      12
      14
      e

est quand même plus facile à taper !

Si vous utilisez '-' avec replot, vous pourrez avoir à entrer les données plusieurs fois (voir replot).

Un nom de fichier vide ('') indique qu'il faut réutiliser le nom précédent. Ca peut être utile avec des choses du style :

      plot 'a/very/long/filename' using 1:2, '' using 1:3, '' using 1:4

(Si vous utilisez à la fois '-' et ''dans la même commande plot, vous avez besoinde deux ensembles de données en ligne, comme dans l'exemple ci-dessus.)

Sur certains bons systèmes d'exploitation (Unix), le fichier de données peut être redirigé par un tube (pipe) à partir d'une commande shell, en commençant le nom du fichier par un '<'. Par exemple,

      pop(x) = 103*exp(-x/10)
      plot "< awk '{print $1-1965, $2}' population.dat", pop(x)

tracerait les mêmes informations que le premier exemple de population, mais avec les années depuis 1965 sur l'axe des abscisses. Si vous voulez lancer cet exemple, vous devez supprimer tout commentaire du fichier de données ci-dessus ou subtituer la commande suivante à la première partie (avant la virgule) de la commande ci-dessus :

      plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"

Bien que cette approche soit plus souple, il est aussi possible d'effectuer un filtrage simple par les mots-clefs using et thru.


thru

La fonction thru est fournie pour assurer la compatibilité ascendante.

Syntaxe :

      plot 'file' thru f(x)

c'est équivalent à :

      plot 'file' using 1:(f($2))

Bien que la seconde ligne ait l'air plus complexe, elle est bien plus souple. L'exemple plus naturel (?)

      plot 'file' thru f(y)

marche aussi (ie vous pouvez utiliser y comme variable muette).

thru est accepté par splot et fit mais reste sans effet.


using

Le modificateur le plus courant pour les fichiers de données est using.

Syntaxe :

      plot 'fichier' using {<entree> {:<entree> {:<entree> ...}}} {'format'}

Si un format est spécifié, chaque enregistrement est lu par la fonction 'scanf' de la bibliothèque C, avec la chaîne de format spécifiée. Sinon, l'enregistrement est lu et scindé en colonnes selon les espaces et tabulations. Aucun format ne peut être spécifié si le format temporel est utilisé pour les données (mis en service par set data time).

Le tableau de données résultant est ensuite scindé en colonnes selon les entrées de la fonction. Chaque entrée peut être un simple numéro de colonne, ce qui sélectionne la donnée, une expression entre parenthèses, ou vide. L'expression peut utiliser $1 pour accéder au premier nombre lu, $2 pour le deuxième, etc. Elle peut aussi utiliser column(x) et valid(x) où x est une expression arbitraire qui retourne un entier. column(x) retourne la x-eme donnée ; valid(x) teste si la donnée de la x-eme colonne est un nombre valide. Un numéro de colonne de 0 génère un nombre augmentant d'un à chaque point (à partir de 0), et remis à zéro à la rencontre de deux enregistrements vides. Un numéro de colonne de -1 donne le numéro de ligne-donnée, qui commence à 0, s'incrémente à chaque enregistrement vide simple, et est remis à zéro à chaque enregistrement vide double. Un numéro de colonne de -2 donne le numéro d'index, qui est incrémenté seulement quand deux enregistrements vides sont trouvés. Une <entree> vide sera interprétée par défaut comme son ordre dans la liste des entrées. Par exemple, using ::4 sera interprété comme using 1:2:4.

N.B. : la commande call utilise aussi des $ comme caractères spéciaux. Voir call pour les détails sur la façon d'inclure un numéro de colonne dans une liste d'arguments call.

Si la liste using n'a qu'une seule entrée, cette entrée sera utilisée pour y et le numéro de point de donnée est utilisé pour x ; par exemple, "plot 'file' using 1" est identique à "plot 'file' using 0:1". Si la liste using comporte deux entrées, elles seront utilisées pour x et y. Les entrées supplémentaires représentent habituellement des erreurs en x ou y. Voir set style pour les détails sur les styles de tracé qui utilisent cette information d'erreur, et fit pour l'utilisation de cette information dans l'ajustement de courbe (curve fitting).

'scanf' accepte plusieurs spécifications numériques mais gnuplot n'accepte en entrée que des réels en virgule flottante double précision, donc lf est le seul spécificateur permis. 'scanf' attend des blancs - espace, tabulation ("\t"), saut de ligne ("\n"), ou saut de page ("\f") - entre les nombres ; tout le reste doit explicitement être éliminé de la chaîne d'entrée.

Notez que l'utilisation de "\t", "\n" et "\f" exige l'utilisation de guillemets doubles au lieu de guillemets simples.

Exemples :

Ceci crée un tracé de la somme des 2e et 3e colonnes en fonction de la première : (la chaîne de format spécifie des colonnes séparées par des virgules plutôt que des espaces)

      plot 'fichier' using 1:($2+$3) '%lf,%lf,%lf'

Dans cet exemple, les données sont lues dans le fichier "MesDonnees" selon un format plus compliqué :

      plot 'MesDonnees' using "%*lf%lf%*20[^\n]%lf"

La signification de ce format est :

      %*lf        ignore un nombre
      %lf         lit un nombre double précision (x par défaut)
      %*20[^\n]   ignore 20 caractères non-saut-de-ligne
      %lf         lit un nombre double précision (y par défaut)

Une astuce consiste à utiliser l'opérateur ternaire ?: pour filtrer les données :

      plot 'fichier' using 1:($3>10 ? $2 : 1/0)

ce qui trace la donnée de la colonne 2 en fonction de la colonne 1 à condition que la donnée de la colonne 3 dépasse 10. 1/0 est indéfini ; gnuplot ignore silencieusement les points indéfinis, de sorte que les points qui ne conviennent pas se trouvent supprimés.

Vous pouvez aussi utiliser une expression constante pour le numéro de colonne, à condition qu'elle ne commence pas par une parenthèse ouvrante ; une construction du type using 0+(expression compliquée) peut être utilisée. La règle est que l'expression est évaluée une fois si elle ne débute pas par une parenthèse ouvrante, et à chaque point lu sinon.

Si des données contenant des séries temporelles sont utilisées, le temps peut s'étendre sur plusieurs colonnes. La colonne de départ doit être spécifiée. Notez que les espaces inclus dans l'indication temporelle doivent être pris en compte pour le calcul des colonnes de départ poure les autres données. Par exemple, si le premier élément d'une ligne est un temps incluant un espace, l'ordonnée doit être spécifiée en colonne 3.

Notez que plot 'fichier', plot 'fichier' using 1:2, et plot 'fichier' using ($1):($2) peuvent recéler de subtiles différences : 1) si fichier comporte des lignes à une colonne, et d'autres à deux, la première commande inventera des valeurs x lorsqu'elles manqueront, la deuxième ignorera silencieusement les lignes à une seule colonne, et la troisième stockera une valeur indéfinie pour les lignes à une valeur, de sorte que pour un tracé avec le style ligne, aucune ligne ne joindra les points encadrant le mauvais point ; 2) si une ligne contient un texte dans sa première colonne, la première commande arrêtera le tracé sur une erreur, mais la deuxième et la troisième élimineront silencieusement la ligne défectueuse.

En réalité, il est souvent possible de tracer un fichier avec beaucoup de lignes défectueuses très simplement en spécifiant :

      plot 'file' using 1:2

Malgré tout, si vous voulez mettre du texte dans vos fichiers de données, il est plus sûr de commenter la ligne en plaçant un # (dièse) sur la première colonne. Petites démos de using.


errorbars (barres d'erreur)

Les barres d'erreur sont disponibles pour le tracé 2d de fichiers de données, en utilisant une à quatre colonnes supplémentaires (ou entrées using) ; ces valeurs supplémentaires sont utilisées de différentes façons par les différents styles de barres d'erreur. Par défaut, gnuplot attend 3, 4 ou 6 nombres par ligne, soit

      (x, y, ydelta),
      (x, y, ybas, yhaut),
      (x, y, xdelta),
      (x, y, xbas, xhaut),
      (x, y, xdelta, ydelta), ou
      (x, y, xbas, xhaut, ybas, yhaut).

L'abscisse doit être spécifiée. L'ordre des valeurs doit être respecté, bien que l'option using puisse manipuler l'ordre et fournir des valeurs pour les colonnes manquantes. Par exemple,

      plot 'file' with errorbars
      plot 'file' using 1:2:(sqrt($1)) with xerrorbars
      plot 'file' using 1:2:($1-$3):($1+$3):4:5 with xyerrorbars

Le dernier exemple concerne un fichier contenant une combinaison d'erreurs relative en x et absolue en y, non supporté nativement par gnuplot : l'entrée permet de transformer l'erreur relative sur x en erreur absolue.

La barre d'erreur sur y esr un segment vertical tracé de (x, ybas) à (x, yhaut). Si ydelta est spécifié au lieu de ybas et yhaut, ces derniers sont calculés par ybas = y -ydelta ; yhaut = y + ydelta. Si l'enregistrement ne comporte que 2 nombres, ybas et yhaut sont pris égaux à y. La barre d'erreur sur x est un segment horizontal calculé de la même façon. Pour obtenir un tracé de lignes joignant les points de données, tracez le fichier de données deux fois, une fois avec les barres d'erreurs, et une fois avec les lignes (mais pensez à utiliser l'option notitle sur l'un des deux, pour éviter d'avoir deux entrées dans la légende).

Les barres d'erreur sont délimitées par des petites barres perpendiculaires à moins que la commande set bar ne soit utilisée (voir set bar) pour les détails.

Si le calcul automatique des intervalles est en service, les intervalles seront ajustés pour inclure les barres d'erreur. Démos de barres d'erreur.

Voir plot using, plot with, et set style pour plus d'information.


paramétrique (parametric)

En mode paramétrique (set parametric), les expressions mathématiques doivent être données sous forme de paires pour plot et de triplets pour splot.

Exemples :

      plot sin(t),t**2
      splot cos(u)*cos(v),cos(u)*sin(v),sin(u)

Les fichiers de données sont tracés comme précédemment, excepté que toute fonction paramétrique précédente doit être entièrement spécifiée avant qu'un fichier de données soit indiqué. En d'autres termes, les fonctions paramétriques x (sin(t) ci-dessus) et y (t**2 ci-dessus) ne doivent pas être interrompus par des modificateurs ou des fonctions ; autrement, cela générera une erreur de syntaxe signalant que la fonction paramétrique n'est pas complètement spécifiée.

D'autres modificateurs, comme with et title, peuvent être spécifiés dès que la fonction paramétrique a été spécifiée :

      plot sin(t),t**2 title 'Parametric example' with linespoints
 Démos du mode paramétrique


intervalles (ranges)

L'option ranges spécifie la région du graphe (intervalles) qui doit être affichée.

Syntaxe :

      [{<var-muette>=}{{<min>}:{<max>}}]
      [{{<min>}:{<max>}}]

La première forme s'applique à la variable indépendante (xrange, ou trange en mode paramétrique). La seconde forme s'applique à la variable liée yrange (et xrange aussi en mode paramétrique). <var-muette> est un nouveau nom pour la variable indépendante. (Les valeurs par défaut peuvent être changées avec set dummy). Les termes optionnels <min> et <max> peuvent être des expressions constantes ou bien *.

En mode non paramétrique, l'ordre dans lequel les intervalles doivent être donnée est xrange puis yrange.

En mode paramétrique, l'ordre pour la commande plot est trange, xrange, puis yrange. La commande plot suivante utilise les intervalles suivants : trange à [-pi:pi], xrange à [-1.3:1.3] et yrange à [-1:1] pour ce graphe :

      plot [-pi:pi] [-1.3:1.3] [-1:1] sin(t),t**2

Notez que les intervalles x2range et y2range ne peuvent pas être spécifiés ici : les commandes set x2range et set y2range doivent être utilisées.

Les intervalles sont interprétés selon l'ordre donné ci-dessus pour le mode approprié. Une fois que tous les intervalles nécessaires sont spécifiés, aucun autre ne doit être listé, mais les superflus ne peuvent être éliminés : utilisez un intervalle vide [] à la place.

* peut être utilisé pour permettre le calcul automatique des bornes inférieure et/ou supérieure de l'intervalle. Voir set autoscale.

Les intervalles spécifiés dans une commande plot ou splot affectent seulement ce graphe ; utilisez les commandes set xrange, set yrange, etc. pour changer les intervalles par défaut pour tous les futurs graphes.

Avec des données temporelles, vous devez fournir l'intervalle (de la même manière que le temps apparaît dans le fichier de données) entre guillemets. gnuplot utilise la chaîne timefmt pour lire les valeurs, voir set timefmt.

Exemples :

Ceci utilise les intervalles courants :

      plot cos(x)

Ceci fixe l'intervalle en abscisse seulement :

      plot [-10:30] sin(pi*x)/(pi*x)

La même chose, mais utilise t comme variable muette :

      plot [t = -10 :30]  sin(pi*t)/(pi*t)

Ceci fixe les intervalles en abscisse et en ordonnée :

      plot [-pi:pi] [-3:3]  tan(x), 1/x

Ceci fixe seulement l'intervalle en ordonnée, et désactive leur calcul automatique sur les deux axes :

      plot [ ] [-2:sin(5)*-8] sin(x)**besj0(x)

Ceci fixe seulement xmax et ymin :

      plot [:200] [-pi:]  exp(sin(x))

Ceci fixe l'intervalle en abscisse pour une série temporelle :

      set timefmt "%d/%m/%y %H:%M"
      plot ["1/6/93 12:00":"5/6/93 12:00"] 'timedata.dat'

Voir la démo.


title (titre)

Une ligne de titre apparaît dans la légende pour chaque fonction et ensemble de données tracés, accompagnée d'un échantillon de la ligne ou du symbole utilisé pour les représenter. Cette indication peut être changée par l'option title.

Syntaxe :

      title "<titre>" | notitle

où <titre> est le nouveau titre du tracé, entre guillemets (qui n'apparaissent pas dans la légende). Un caractère spécial peut être passé par un backslash suivi de sa valeur octale ("\345"). Le caractère tabulation "\t" est comprise. Notez que le traitement des backslashs n'est effectué que pour les chaînes entre guillemets doubles ; utilisez des guillemets simples pour éviter ce traitement. Le caractère saut-de-ligne "\n" n'est pas traité, quel que soit le type de chaîne.

L'affichage du titre de la courbe et de l'échantillon peut être empêché en utilisant le mot clef notitle. Un titre vide (title '') a le même effet. Si vous désirez l'échantillon de courbe seul, utilisez un blanc (title ' ').

Par défaut, le titre de la courbe est la fonction ou le nom de fichier, comme ils apparaissent dans la commande plot. Si c'est un nom de fichier, tout modificateur de fichier de donée spécifié apparaîtra dans le titre par défaut.

La mise en page de la légende elle-même (position, justification des titres, etc.) peut être contrôlée par 'set key'. Voir set key pour plus de détails.

Exemples :

Ceci trace y=x avec le titre 'x' :

      plot x

Ceci trace x carré avec le titre "x^2" et le fichier "data.1" avec le titre "données mesurées" :

      plot x**2 title "x^2", 'data.1' t "données mesurées"

Ceci trace une frontière circulaire sans titre autour d'un graphe polaire :

      set polar; plot my_function(t), 1 notitle


with (avec -style-)

Les fonctions et données peuvent être affichés dans un grand nombre de styles. Le mot-clef with (avec) fournit le moyen de sélection.

Syntaxe :

      with <style> { {style-ligne | ls <style_ligne>}
                     | {{type-ligne | lt <type_ligne>}
                        {largeur-ligne | lw <largeur_ligne>}
                        {type-point | pt <type_point>}
                        {taille-point | ps <taille_point>}} }

où <style> vaut lines, points, linespoints, impulses, dots, steps, fsteps, histeps, errorbars, xerrorbars, yerrorbars, xyerrorbars, boxes, boxerrorbars, boxxyerrorbars, financebars, candlesticks ou vector. Certains de ces styles demandent des informations complémentaires. Voir set style <style> pour des détails sur chaque style.

Les styles par défaut sont choisis grâce aux commandes set function style et set data style.

Par défaut, chaque fonction et fichier de données utilisera un type de courbe et de point différent, jusqu'au nombre maximal de types disponibles. Tous les pilotes de terminaux supportent au moins 6 types différents de points, et les ré-utilisent, dans l'ordre, s'il en faut plus. Le driver LaTeX fournit six types de points supplémentaires (toutes les variantes d'un cercle), et donc ne se répétera qu'après 12 courbes tracées avec des points. Les pilotes PostScript (postscript) fournissent au total 64 types.

Si vous voulez choisir le type de courbe ou de point pour un seul tracé, <line_type> et <point_type> peuvent être spécifiés. Ce sont des constantes (ou des expressions) entières positives qui spécifient les types de courbe et de point à utiliser pendant le tracé. Utilisez test pour afficher les différents types disponibles sur votre terminal.

Vous pouvez aussi dimensionner la largeur de la courbe et la taille des points en utilisant <largeur_ligne> et <taille_point>, qui sont des facteurs s'appliquant aux valeurs par défaut pour chaque terminal. La taille des points peut aussi être modifiée globalement - voir set pointsize pour les détails. Mais notez le réglage de la taille des points, aussi bien dans la commande plot que par set pointsize multiplie la taille par défaut ; leurs effets ne se cumulent pas. Ainsi, la commande set pointsize 2; plot x with points ps 3 affichera des points trois fois (et non six fois) plus grands que les points par défaut.

Si vous avez défini des combinaisons spéciales de type/largeur de ligne et de type/taille de point avec set linestyle, l'une d'elles peut directement être sélectionnée en positionnant <style_ligne> à l'index du style désiré.

les mots-clefs peuvent être abrégés comme indiqué.

Notez que les options linewidth et pointsize ne sont pas supportées par tous les terminaux.

Exemples :

Ceci trace sin(x) avec des impulsions :

      plot sin(x) with impulses

Ceci trace x avec des points, x**2 avec le style par défaut :

      plot x*y w points, x**2 + y**2

Ceci trace tan(x) avec le style par défaut pour les fonctions, et le fichier "data.1" avec des lignes :

      plot [ ] [-2:5] tan(x), 'data.1' with l

Ceci trace "leastsq.dat" avec des impulsions (impulses) :

      plot 'leastsq.dat' w i

Ceci trace le fichier de données "population" avec des boîtes :

      plot 'population' with boxes

Ceci trace le fichier "exper.dat" avec des barres d'erreur et des lignes joignant les points (les barres d'erreur nécessitent 3 ou 4 colonnes) :

      plot 'exper.dat' w lines, 'exper.dat' notitle w errorbars

Ceci trace sin(x) et cos(x) avec linespoints, en utilisant le même type de ligne, mais différents types de point :

      plot sin(x) with linesp lt 1 pt 3, cos(x) with linesp lt 1 pt 4

Ceci trace le fichier "donnees" avec des points de type 3 et de taille double:

      plot 'data' with points pointtype 3 pointsize 2

Ceci trace deux ensembles de données, avec des lignes différant seulement par leur poids (weight) :

      plot 'd1' t "good" w l lt 2 lw 3, 'd2' t "bad" w l lt 2 lw 1

Voir set style pour changer les styles par défaut. Démos de styles


print

La commande print affiche la valeur d'<expression> à l'écran. C'est un synonyme de pause 0. <expression> peut être quoi que ce soit que gnuplot peut évaluer et qui résulte en un nombre, ou bien une chaîne.

Syntaxe :

      print <expression> {, <expression>, ...}

Voir expressions.


pwd

La commande pwd affiche le nom du répertoire courant à l'écran.


quit

Les commandes exit et quit et le caractère FIN-DE-FICHIER (EOF) terminent gnuplot. Chacune de ces commandes efface le périphérique de sortie (comme la commande clear) avant de terminer.


replot

La commande replot sans arguments répète la dernière commande plot ou splot. Ca peut être utile pour visualiser un tracé avec différentes options set, ou pour générer le même tracé pour plusieurs périphériques.

Les arguments spécifiés après une commande replot seront ajoutés à la dernière commande plot ou splot (séparés par une virgule implicite) avant que la commande ne soit répétée. replot accepte les mêmes arguments que plot et splot, sauf que les intervalles ne peuvent pas être spécifiés. Par conséquent, vous pouvez utiliser replot pour tracer une fonction par rapport aux seconds axes si la commande précédente était plot, mais pas si c'était splot. Symétriquement, vous pouvez utiliser replot pour ajouter un tracé à partir d'un fichier binaire si la commande précédente était splot.

N.B. : l'utilisation de

      plot '-' ; ... ; replot

n'est pas recommandée : gnuplot ne stocke pas en interne les données en ligne, donc comme replot ajoute de nouvelles informations au plot précédent, puis exécute la commande modifiée, le '-' du plot initial attend une nouvelle fois les données en ligne.

Notez que replot ne marche pas en mode multiplot, puisqu'il reproduit seulement le dernier tracé et non l'écran entier.

Voyez aussi command-line-editing concernant les manières d'éditer la dernière commande plot (splot).


reread

La commande reread n'a d'effet que dans un fichier de commande gnuplot, chargé par load ou par la ligne de commande. Elle redémarre l'exécution du fichier de commande au début, empêchant les commandes suivant reread d'être lues. Il en résulte essentiellement une boucle sans fin, entre le début du fichier et la commande reread ; ceci n'engendre pas forcément un désastre : reread peut être très utile en conjonction avec if. Voir if pour les détails.

Exemples d'utilisation :

Supposons que le fichier "boucle" contienne les commandes

      a=a+1
      plot sin(x*a)
      pause -1
      if(a<5) reread

et que dans gnuplot vous tapiez les commandes

      a=0
      load 'boucle'

Le résultat sera 4 tracés (séparés par le message pause).

Supposons que le fichier "donnees" contienne 6 colonnes de nombre, avec un intervalle total sur y de 0 à 10. La première valeur est l'abscisse, les suivantes sont 5 fonctions différentes de x. Supposons également que le fichier "traceur" contienne les commandes

      c_p = c_p+1
      plot "$0" using 1:c_p with lines linetype c_p
      if(c_p <  n_p) reread

et que dans gnuplot vous tapiez les commandes

      n_p=6
      c_p=1
      set nokey
      set yrange [0:10]
      set multiplot
      call 'traceur' 'donnees'
      set nomultiplot

Le résultat est un seul graphe consistant en 5 tracés. L'intervalle en y doit être donné explicitement, pour garantir que les 5 tracés séparés (tracés l'un sur l'autre en mode multiplot) utilisent exactement les mêmes axes. Le type de ligne doit être spécifié, sans quoi tous les tracés seront confondus avec le même type. Démo d'animation reread


reset

La commande reset remet à leurs valeurs par défaut toutes les options qui peuvent être positionnées par la commande set, à deux exceptions près : le terminal (set term) et le fichier de sortie (set output) restent inchangés. Cette commande est utile, par exemple pour restaurer les valeurs par défaut à la fin d'un fichier de commande, ou pour revenir à un état connu après l'exécution d'un fichier de commande ayant modifié beaucoup d'options. Veuillez vous référer à la commande set pour connaître les valeurs par défaut des différentes options.


save

La commande save sauve les fonctions définies par l'utilisateur, les variables, ou les options positionnées par set, ou les trois, plus la dernière commande plot (ou splot), dans le fichier spécifié.

Syntaxe :

      save  {<option>} '<nomfichier>'

où <option> vaut functions, variables ou set. Si aucune option n'est utilisée, gnuplot sauve les fonctions, les variables, les options positionnées par set, et la dernière commande plot (ou splot).

Les fichiers sauvés sont écrits en format texte et peuvent être lus par la commande load.

Le nom de fichier doit être entre guillemets.

Exemples :

      save 'work.gnu'
      save functions 'func.dat'
      save var 'var.dat'
      save set 'options.dat'


set-show [set, show]

La commande set peut être utilisée pour régler _beaucoup_ d'options. Cependant, rien n'est tracé tant que les commandes plot, splot, ou replot ne sont pas lancées.

La commande show montre les réglages effectués ; show all montre tous les réglages.

Si une variable contient des données de temps (heure/date), show la montre en appliquant le format défini par set timefmt, même s'il n'était pas encore positionné lors de la définition initiale de la variable.

angles
arrow
autoscale
bar
bmargin
border
boxwidth
clabel
clip
cntrparam
contour
data style
dgrid3d
dummy
encoding
format
function style (style des tracés de fonctions)
functions (fonctions)
grid (quadrillage)
hidden3d (lignes cachées)
isosamples
key (légende)
label (étiquette)
linestyle (style de ligne)
lmargin (marge de gauche)
locale (langue par défaut)
logscale (échelle logarithmique)
mapping (représentation)
margin (marges)
missing (donnée manquante)
multiplot (tracé multiple)
mx2tics
mxtics
my2tics
mytics
mztics
offsets (retraits)
origin (origine)
output (sortie)
parametric (mode paramétrique)
pointsize (taille des points)
polar (mode polaire)
rmargin (marge droite)
rrange (intervalle en r)
samples (échantillonnage)
size (taille)
style
surface
terminal
tics
ticslevel
ticscale
timestamp (horodatage)
timefmt
title (titre)
tmargin
trange
urange
variables
version
view
vrange
x2data
x2dtics
x2label
x2mtics
x2range
x2tics
x2zeroaxis
xdata
xdtics
xlabel
xmtics
xrange
xtics
xzeroaxis
y2data
y2dtics
y2label
y2mtics
y2range
y2tics
y2zeroaxis
ydata
ydtics
ylabel
ymtics
yrange
ytics
yzeroaxis
zdata
zdtics
zero
zeroaxis
zlabel
zmtics
zrange
ztics


angles

Par défaut, gnuplot suppose que les variables indépendantes des représentations polaires sont en radians. Si set angles degrees est demandé avant set polar, l'intervalle des valeurs est par défaut [0:360] et les variables indépendantes sont comptées en degrés. C'est particulièrement utile pour le tracé de fichiers de données. Ce réglage des unités angulaires s'applique aussi aux représentations 3-d obtenues par la commande set mapping.

Syntaxe :

      set angles {degrees | radians}
      show angles

L'angle passé dans set grid polar est aussi lu et affiché dans les unités fixées par set angles.

set angles affecte aussi les arguments des fonctions trigonométriques sin(x), cos(x) et tan(x), et les résultats de asin(x), acos(x), atan(x), atan2(x), et arg(x). Ca n'a pas d'effet sur les arguments des fonctions hyperboliques ou sur les fonctions de Bessel. Néanmoins, les résultats des fonctions hyperboliques inverses d'arguments complexes sont affectés ; dans ce cas, il vaut mieux préciser set angles radians pour maintenir la cohérence entre les valeurs d'entrée et de sortie.

      x={1.0,0.1}
      set angles radians
      y=sinh(x)
      print y         #affiche {1.16933, 0.154051}
      print asinh(y)  #affiche {1.0, 0.1}

mais

      set angles degrees
      y=sinh(x)
      print y         #affiche {1.16933, 0.154051}
      print asinh(y)  #affiche {57.29578, 5.729578}
  Représentation polaire utilisant `set angles`. 


arrow

Des flèches arbitraires peuvent être placées avec la commande set arrow

Syntaxe :

      set arrow {<tag>} {from <position>} {to <position>} {{no}head}
                { {linestyle | ls <style_ligne>}
                  | {linetype | lt <type_ligne>}
                    {linewidth | lw <largeur_ligne} }
      set noarrow {<tag>}
      show arrow

<tag> est un numéro (entier) qui identifie la flèche. Si la flèche n'est pas numérotée, c'est la plus petite valeur disponible qui est assignée. Le numéro peut être utilisé pour supprimer ou modifier une flèche. Pour modifier les attributs d'une flèche, il faut utiliser la commande set arrow avec le numéro de flèche approprié et préciser les paramètres à changer.

Les <position>s sont désignées par x,y ou x,y,z, et peuvent être précédées par first, second, graph, ou screen pour choisir le système de coordonnées. Des coordonnées non initialisées sont à 0 par défaut. Les extrémités peuvent être exprimées dans l'un des quatre repères -les axes first ou second, graph ou screen. Voir coordinates pour les détails. Les positions de départ "from" et d'arrivée "to" doivent être exprimées dans le même repère. Les flèches qui sortent des limites de l'écran "screen" sont autorisées mais peuvent provoquer des erreurs matérielles.

l'attribut nohead produit une flèche sans pointe -un segment de droite. C'est une autre façon d'ajouter des traits sur les figures. Par défaut, les flèches ont une pointe.

Le style de ligne peut être choisi dans une liste de styles de lignes définie par l'utilisateur (voir set linestyle) ou peut être défini ici en précisant les valeurs de <type_ligne> (un index de types de lignes par défaut) et/ou <largeur_ligne> (qui est un coefficient multiplicateur de la largeur par défaut).

Il est à noter, cependant, que les propriétés de type et de largeur (width) d'un style de ligne utilisateur ne peuvent pas être modifiées autrement qu'en définissant un autre set arrow avec un index approprié et les nouveaux paramètres lt ou lw.

Exemples :

Pour définir une flèche pointant de l'origine au point (1,2) avec un style utilisateur 5, on a :

      set arrow to 1,2 ls 5

Pour définir une flèche partant du bas gauche de la zone de tracé vers le point (-5,5,3), et lui attribuer le numéro 3, on tape :

      set arrow 3 from graph 0,0 to -5,5,3

Pour modifier la précédente flèche pour qu'elle finisse en 1,1,1 sans pointe et une largeur double, taper :

      set arrow 3 to 1,1,1 nohead lw 2

Pour tracer une ligne verticale de bas en haut d'un graphe en x=3, taper :

      set arrow from 3, graph 0 to 3, graph 1 nohead

Pour supprimer la flèche numéro 2, taper :

      set noarrow 2

Pour supprimer toutes les flèches, taper :

      set noarrow

Pour voir toutes les flèches (dans l'ordre de numérotation), taper :

      show arrow
  Démos flèches. 


autoscale

Le calcul automatique de l'échelle (ie de l'intervalle de tracé) peut être défini séparément pour les axes x, y, z, ou globalement pour tous. Par défaut tous les axes sont en échelle automatique.

Syntaxe :

      set autoscale {<axes>{min|max}}
      set noautoscale {<axes>{min|max}}
      show autoscale

où <axes> est l'un des mots-clefs x, y, z, x2, y2 ou xy. L'ajout de min ou max au mot-clef (sauf pour xy) indique à gnuplot d'ajuster automatiquement seulement le minimum ou le maximum de l'axe. En l'absence de mot-clef, tous les axes sont en échelle automatique.

En échelle automatique, l'intervalle des axes est calculé automatiquement et l'axe dépendant (y pour plot et z pour splot) est automatiquement ajusté pour intégrer les valeurs prises par la fonction ou les données.

Si l'échelle automatique de l'axe dépendant (y ou z) est retirée, l'intervalle courant de y ou z est utilisé.

L'échelle automatique sur les variables indépendantes (x pour plot et x,y pour splot) permet d'ajuster les échelles pour intégrer toutes les données à tracer (dans le cas d'un fichier). S'il n'y a pas de fichiers de données, l'échelle automatique sur les variables indépendantes n'a aucun effet. Autrement dit, en l'absence de fichier de données, les fonctions seules n'affectent pas l'échelle des x (ou l'échelle des y pour le tracé de z = f(x,y)).

Veuillez vous référer à set xrange pour les compléments sur les intervalles de valeurs.

L'effet des échelles automatiques reste cohérent en mode paramétrique (voir set parametric). Néanmoins, il y a davantage de variables dépendantes et donc plus de contrôles sur les échelles des axes x, y et z. En mode paramétrique, les variables indépendantes par défaut sont t pour plot et u, v pour splot. autoscale en mode paramétrique contrôle donc tous les intervalles de valeurs (t, u, v, x, y et z) et permet donc un parfait ajustement automatique des échelles en x, y et z.

L'échelle automatique procède de la même façon en mode polaire qu'en mode paramétrique pour plot, à la différence que set dummy permet d'utiliser d'autres variables indépendantes que t (voir set dummy).

Si les seconds axes sont affichés sans avoir spécifié de tracé, alors les intervalles x2range et y2range prennent par défaut les valeurs xrange et yrange. Cette affectation se produit _avant_ que les intervalles xrange et yrange soient automatiquement arrondis au nombre entier de marques supérieur, ce qui peut donner des résultats inattendus.

Exemples :

Echelle automatique suivant l'axe y (les autres axes ne sont pas affectés) :

      set autoscale y

Calage automatique du minimum sur l'axe y (le maximum sur l'axe y et les autres axes ne sont pas affectés) :

      set autoscale ymin

Echelle automatique sur les axes x et y :

      set autoscale xy

Echelle automatique sur tous les axes x, y, z, x2 et y2 :

      set autoscale

Supprimer l'échelle automatique sur les axes x, y, z, x2 et y2 :

      set noautoscale

Supprimer l'échelle automatique seulement sur l'axe z :

      set noautoscale z

mode paramétrique [parametrique]
mode polaire [polaire]


mode paramétrique [parametrique]

En mode paramétrique (set parametric), l'intervalle xrange est traité comme l'intervalle yrange. C'est à dire que les axes x et y peuvent être automatiquement ajustés pour englober toutes les valeurs prises par la fonction paramétrique. Bien entendu, l'échelle automatique suivant l'axe des y est possible comme dans les autres modes. En l'absence d'échelle automatique sur l'axe x, c'est l'intervalle courant qui est utilisé.

Les données de fichiers sont tracées comme dans les autres modes. Néanmoins, il y a une différence pour les tracés mixtes de fonctions et de données : en mode non paramétrique avec l'échelle automatique sur x, c'est l'intervalle des valeurs prises par les données du fichier qui contrôle l'intervalle des valeurs des fonctions ; en mode paramétrique ça n'a pas d'influence.

Pour être complet, l'échelle automatique set autoscale t est disponible. Cependant l'effet de cette échelle automatique est négligeable. Quand gnuplot calcule que l'intervalle t est nul, alors il fait un petit ajustement si l'échelle automatique est activée. Autrement, gnuplot affiche un message d'erreur. Cette particularité n'est pas vraiment utile et la commande set autoscale t est certainement à revoir.

splot, comme prévisible, étend le comportement précédent en 3D. Si l'échelle automatique est activée, alors les intervalles en x, y et z sont calculés pour englober toutes les valeurs.


mode polaire [polaire]

En mode polaire (set polar), les intervalles xrange et yrange sont calculés à partir des coordonnées polaires, et donc sont automatiquement ajustés. Autrement dit, en mode polaire les intervalles en x et y peuvent être automatiquement ajustés pour contenir les valeurs prises par la fonction polaire.

Lors de tracé de fonctions en mode polaire, l'intervalle rrange peut être ajusté automatiquement. Lors de tracé de fichiers de données en mode polaire l'intervalle trange peut aussi être ajusté automatiquement. Il est à noter que si l'intervalle trange est contenu dans un seul quadrant, l'échelle automatique produit le graphe dans ce seul quadrant.

La définition d'un ou deux des intervalles et pas des autres peut donner des résulats inattendus. Voir démos polaires


bar

La commande set bar contrôle les marques aux extrêmités des barres d'erreurs.

Syntaxe :

      set bar {small | large | <taille>}
      show bar

small est synonyme de 0.0, et large de 1.0. Par défaut c'est 1.0 si <taille> n'est pas précisée.


bmargin

La commande set bmargin fixe la taille de la marge inférieure. Veuillez vous référer à set margin pour les details.


border

Les commandes set border et set noborder contrôlent l'affichage des bords du graphes pour les commandes plot et splot.

Syntaxe :

      set border {<code-bord> { {linestyle | ls <style_ligne>}
                              | {linetype | lt <type_ligne> }
                                {linewidth | lw <largeur_ligne>} } }
      set noborder
      show border

                        bords (plot)    splot         splot
          Côté          base (splot)  verticales     sommet
      bas    (sud)           1            16           256
      gauche (ouest)         2            32           512
      haut   (nord)          4            64          1024
      droite (est)           8           128          2048

<code-bord> est un entier qui indique quels bords sont affectés. La valeur par défaut est 31, qui indique les 4 côtés pour plot, et la base et l'axe z pour splot.

Les options <style_ligne>, <type_ligne> et <largeur_ligne> influencent le tracé des bordures (limité par les pilotes du terminal utilisé). Par défaut, la bordure est tracée avec une largeur double de la largeur usuelle. La <largeur_ligne> multiplie cette valeur ; par exemple, set border 15 lw 2 produit une bordure de 4 fois la largeur usuelle.

Une grande variété d'axes ou de combinaison d'axes peut être ajouté à à la commande.

Pour obtenir des marques sur les bords ailleurs qu'en bas et à gauche, désactiver les marques habituelles et activer les axes secondaires (x2, y2).

Exemples :

Tracer toutes les bordures :

      set border

Tracer seulement les bordures SUD-OUEST :

      set border 3

Tracer une boîte complète autour d'un splot :

      set border 4095

Tracer partiellement une boîte sans la face avant verticale :

      set border 127+256+512

Tracer seulement les bordures NORD-EST :

      set noxtics; set noytics; set x2tics; set y2tics; set border 12

Démo de Bordures.


boxwidth

La commande set boxwidth est utilisée pour fixer la largeur des boîtes pour les styles boxes et boxerrorbars.

Syntaxe:

      set boxwidth {<largeur>}
      show boxwidth

Si des fichiers de données sont tracés sans que les largeurs soient précisées dans la troisième, quatrième ou cinquième colonne (ou avec le mot-clef using), ou si une fonction est tracée, la largeur est alors fixée par la commande set boxwidth. (Si la largeur est spécifiée à la fois dans le fichier de données et par la commande set boxwidth, c'est la valeur du fichier qui prime). Si la largeur n'est spécifiée nulle part, la largeur de chaque boîte est calculée automatiquement de façon à ce qu'elles touchent les boîtes adjacentes. Dans un ensemble de données sur quatre colonnes, la quatrième colonne est interprétée comme largeur de boîte à moins que la largeur soit fixée à -2.0, dans ce cas la largeur est calculée automatiquement. Voir set style boxerrorbars pour plus de détails.

Pour obtenir le calcul automatique de largeur utilisez la commande :

      set boxwidth

ou, pour des données sur quatre colonnes :

      set boxwidth -2

Le même effet peut être obtenu avec le mot-clef using dans plot :

      plot 'file' using 1:2:3:4:(-2)


clabel

gnuplot change de type de ligne à chaque niveau de contour quand clabel est utilisé. Sinon, tous les niveaux de contours sont de même style. Quand l'option est active (elle l'est par défaut), une légende donne les styles de ligne utilisés par niveau z. Il n'est pas possible actuellement de séparer les étiquettes de contour de la légende de la surface.

Syntaxe:

      set clabel {'<format>'}
      set noclabel
      show clabel

Le format par défaut est %8.3g, soit trois décimales. Les étiquettes peuvent se trouver mal alignées si on modifie la configuration par défaut.

Le premier type de ligne de contour (le seul quand clabel est désactivé) est le type de ligne de surface +1. Les points de contour ont le même style que les points de surface.

Voir aussi set contour.


clip

clip permet de déterminer la manière de traiter les points et les lignes qui débordent du cadre du tracé.

Syntaxe :

      set clip <clip-type>
      set noclip <clip-type>
      show clip

Trois types de traitement sont prévus dans gnuplot : points, one, et two. Un, deux ou les trois types de traitement peuvent être actifs sur le même graphe.

Le traitement de type points force gnuplot à rogner (i.e. aucun tracé) Les points de données qui sont dans le graphe mais trop près de la bordure. C'est calculé de sorte que les gros symboles qui représentent les points ne sortent pas des limites. Sans découpe près des bordures, les tracés peuvent être "sales". L'ajustement des axes x et y peut donner des résultats similaires.

Le type de traitement one force gnuplot à tracer les segments de lignes qui ont seulement une de leurs deux extrémités dans le graphe. Seule la portion de ligne qui est à l'intérieur du graphe est tracée. L'alternative est de ne rien tracer des segments qui ont une extrémité hors du graphe.

Certaines lignes ont leur deux extrémités hors du graphe mais passent dedans. Le choix du type d'ajustement two permet le tracé de la partie visible de ces lignes.

En aucun cas une ligne ne peut être tracée hors du graphe.

Par défaut les options sont noclip points, clip one, et noclip two.

Pour connaître les options actives, utilisez

      show clip

Pour garder une compatibilité descendante avec les versions précédentes, les formes suivantes sont admises :

      set clip
      set noclip

set clip est synonyme de set clip points ; set noclip désactive les trois types de traitement.


cntrparam

set cntrparam contrôle la génération de contours et leur lissage pour un tracé. show contour affiche l'état courant de cntrparam et de contour.

Syntaxe :

      set cntrparam {  {linear | cubicspline | bspline}
                      { points <n>} { order <n> }
                      { levels   auto {<n>} | <n>
                               | discrete <z1> {,<z2>{,<z3>...}}
                               | incremental <debut>, <incr> {,<fin>}
                       }
                     }
      show contour

Cette commande a deux fonctions. Premièrement, elle permet de préciser les valeurs de z pour lesquelles les contours vont être calculés (par interpolation linéaire entre les données -pour un fichier de données- ou entre les points échantillonnés -pour une fonction ; voir set isosamples-). Deuxièmement, elle permet de contrôler la manière de tracer ces contours. <n> doit être une expression entière constante et <z1>, <z2>... n'importe quelle expression constante.

Les paramètres sont :

linear, cubicspline, bspline : contrôle les types d'approximations ou d'interpolation. Pour linear, ce sont des segments de droites qui joignent les points de même z. Pour cubicspline, ce sont des portions de contours curvilignes qui sont interpolées entre les points de même valeur de z pour former des contours plus lisses, mais qui peuvent onduler. Pour bspline, un tracé curviligne de meilleur lissage est tracé, qui approxime seulement les points de même z.

points : option qui réalise tous les tracés curvilignes par morceaux. Ce nombre contrôle le nombre de segments curvilignes utilisés pour approximer les tracés bspline ou cubicspline. Nombre de segments curvilignes cubicspline ou bspline = points * nombre de segments linéaires.

order : ordre de l'approximation bspline utilisée. Plus l'ordre est grand, plus le contour résultant est lisse (bien évidemment, les ordres les plus élevés s'écartent d'autant plus des points de données à l'origine du calcul). Cette option ne concerne que le mode bspline. Les valeurs permises sont les valeurs entières qui vont de la valeur 2 (linéaire) à 10.

levels : choix des niveaux de contour, contrôlé par auto (valeur par defaut), discrete, incremental, et <n>, nombre de niveaux de contour, limité à MAX_DISCRETE_LEVELS fixé dans plot.h (30 en standard).

Pour auto, <n> spécifie un nombre nominal de niveaux ; le nombre choisi est ajusté pour donner des étiquettes simples. Si la surface est bornée par zmin et zmax, les contours sont générés aux multiples entiers de dz entre zmin et zmax, où dz vaut (1, 2, ou 5) fois une puissance de dix (comme les pas entre les graduations d'axes).

Pour levels discrete, des contours sont générés à z = <z1>, <z2> ... comme spécifié ; le nombre de niveaux discrets fixe le nombre de niveaux de contour. Le mode discrete inhibe l'option set cntrparms levels <n>.

Pour incremental, les contours sont générés à partir de la valeur <debut> de z, par pas de <incr>, jusqu'à ce que le nombre de contours soit atteint. <fin> est utilisé pour déterminer le nombre de niveaux de contour, qui peut être changé par n'importe quelle nouveau set cntrparam levels <n>.

Si la commande set cntrparam est passée sans paramètres, les valeurs par défaut sont appliquées : linear, 5 points, order 4, 5 auto levels.

Exemples :

      set cntrparam bspline
      set cntrparam points 7
      set cntrparam order 10

Pour obtenir 5 niveaux automatiquement, sous réserve de respecter les critères d'incrémentation des niveaux :

      set cntrparam levels auto 5

Pour obtenir des niveaux discrets à 0.1, 0.37, et 0.9 :

      set cntrparam levels discrete .1,1/exp(1),.9

Pour obtenir des niveaux de 0 à 4 avec un incrément de 1 :

      set cntrparam levels incremental  0,1,4

Pour passer le nombre de niveaux à 10 (dans le but de changer le niveau de <fin>, ou le nombre de niveaux automatiques) :

      set cntrparam levels 10

Pour fixer le début et l'incrément tout en conservant le nombre de niveaux :

      set cntrparam levels incremental 100,50

Voir aussi set contour pour le contrôle du positionnement des tracés de contour, et set clabel pour le contrôle du format, des étiquettes et des types de ligne de contour. Démo Contours et Niveaux de contours définis par l'utilisateur


contour

set contour active le tracé de contours de surfaces. Cette option n'est valable qu'avec splot.

Syntaxe :

      set contour {base | surface | both}
      set nocontour
      show contour

Les trois options déterminent le tracé des contours : base trace les contours sur la grille où sont placées les graduations x/y, surface trace les contours à même les surfaces, et both trace les contours à la fois sur la base et la surface. En l'absence d'option, base est pris par défaut.

Voir aussi set cntrparam pour les paramètres qui affectent le tracé des contours et set clabel pour l'étiquetage des contours.

L'option surface peut-être inhibée (voir set surface), donnant un graphe de contour seul. Bien qu'il soit possible d'utiliser set size pour ajuster le tracé à la taille de l'écran, un contrôle plus efficace peut être obtenu sur le format de sortie en écrivant l'information de contour dans un fichier et en le relisant comme un tracé bidimensionnel :

      set nosurface
      set contour
      set cntrparam ...
      set term table
      set out 'fichier'
      splot ...
      set out
      # les informations de contour sont maintenant dans le fichier 'fichier'
      set term <whatever>
      plot 'fichier'

Pour tracer des contours, les données doivent être organisées en grille de données. Dans un tel fichier tous les points de chaque ligne iso-y doivent être listés, puis les points de la ligne iso-y suivante et ainsi de suite. Une ligne vide unique (qui ne contient que des caractères espace, entrée et/ou ligne suivante) sépare les lignes iso-y les unes des autres. Voir aussi splot fichier.

Si les contours sont construits à partir de données qui ne suivent pas le format grille, l'option set dgrid3d permet de créer les grilles appropriées. Voir set dgrid3d pour plus de précisions. Démo Contours et Niveaux de contours définis par l'utilisateur


data style

La commande set data style modifie les styles de tracé pour les tracés de données.

Syntaxe :

      set data style <choix-style>
      show data style

Voir set style pour les choix. En l'absence de choix, les possibilités sont affichées. show data style affiche le style de tracé courant.


dgrid3d

La commande set dgrid3d active la "projection sur une grille" de données 3D dispersées (ne respectant pas au départ un format de grille), et permet d'en régler les paramètres de contrôle.

Syntaxe :

      set dgrid3d {<taille_ligne>} {,{<taille_col>} {,<norme>}}
      set nodgrid3d
      show dgrid3d

Par défaut dgrid3d n'est pas active. Quand elle est activée, les données 3D lues dans un fichier sont toujours traitées comme ensemble de données dispersées. Une grille calculée à partir de la boîte englobante des données et de taille correspondant aux paramètres de taille ligne/colonne est créée pour les tracés et la détermination de contours. La grille est de pas constant sur x (lignes), et sur y (colonnes) ; les valeurs de z sont des moyennes pondérées des points z donnés.

Le troisième paramètre, <norme>, contrôle la pondération : chaque donnée est pondérée en fonction inverse de sa distance au point de grille élevée à la puissance <norme>. [En fait, les poids sont l'inverse de la fonction dx^norm + dy^norm, où dx et dy sont les composantes de séparation du point de grille au point de donnée. Pour les valeurs de norm qui sont multiples de deux, en particulier 4, 8 et 16, le calcul est optimisé en utilisant la distance euclidienne dans la pondération, (dx^2+dy^2)^norm/2. Cependant, n'importe quel entier positif peut être utilisé.]

Plus le point de donnée est proche d'un point de grille, plus il a d'effet sur ce point de grille. Plus la valeur de <norme> est élevée, moins les points de données éloignés ont d'influence sur ce point de grille.

L'option dgrid3d est un simple filtre passe-bas qui convertit des données dispersées en ensemble de données alignées sur une grille. Des approches plus sophistiquées du problèmes existent et doivent être éventuellement appliquées avant tout traçage par gnuplot si cette solution simple ne convient pas.

[Les valeurs de z sont obtenues par pondération de tous les points de données, et non par interpolation de points les plus proches ; aussi des effets de bord peuvent produire des résultats inattendus ou indésirables. Dans certains cas, une valeur trop faible de <norme> produit un point de grille qui reflète la moyenne des points lointains et non pas la moyenne locale, tandis que des valeurs trop fortes de <norme> peuvent produire des effets d'escalier, avec plusieurs points ayant la même valeur que les points de données les plus proches, au lieu de produire une transition lisse entre points de données adjacents. Certaines régions de la grille peuvent être complétées par extrapolation, à une condition arbitraire aux limites. Les variables ne sont pas normalisées ; en conséquence, les unités utilisées en x et y sont affectées par la pondération des points dans les directions x et y.]

Exemples :

      set dgrid3d 10,10,1     # valeurs par défaut
      set dgrid3d ,,4

Le premier spécifie une grille 10x10 utilisant la valeur 1 pour <norme>. Le second modifie seulement la valeur de <norme> et la fait passer à 4. Démo dgrid3d.


dummy

La commande set dummy change le nom des variables muettes.

Syntaxe :

      set dummy {<dummy-var>} {,<dummy-var>}
      show dummy

Par défaut, gnuplot suppose que les variables indépendantes, ou muettes, pour la commande plot sont "t" en coordonnées paramétriques ou polaires, et "x" sinon. De la même façon les variables indépendantes pour la commande splot sont "u" et "v" en mode paramétrique (splot ne peut pas être utilisé en mode polaire), ou "x" et "y" autrement.

Il est souvent plus judicieux d'appeler les variables muettes par le nom de des variables physiques qu'elles sont censées représenter. Par exemple, pour le tracé de fonctions du temps :

      set dummy t
      plot sin(t), cos(t)

Au moins une variable muette doit être renommée quand on utilise la commande ; set dummy tout seul provoque un message d'erreur.

Exemples :

      set dummy u,v
      set dummy ,s

Le deuxième exemple change le nom de la seconde variable en s.


encoding

La commande set encoding détermine un codage de caractères. Les choix valides sont default, qui indique au terminal d'utiliser sa valeur par défaut, iso_8859_1 (connue dans le monde PostScript comme ISO-Latin1), qui est utilisée sur beaucoup de stations de travail Unix et MS-Windows, cp850 (pour OS/2), et cp437 (pour MS-DOS).

Syntaxe :

      set encoding {<valeur>}
      show encoding

Attention, les codes caractères ne sont pas supportés par tous les pilotes de terminaux ; le terminal doit être capable d'afficher les caractères non-standard.


format

Le formatage des étiquettes de graduations peut être réglé par la commande set format.

Syntaxe :

      set format {<axes>} {"<format-chaîne>"}
      set format {<axes>} {'<format-chaîne>'}
      show format

où <axes> est x, y, z, xy, x2, y2 ou rien (qui est synonyme de xy). La longueur des chaînes de caractères étiquetant une graduation (après formatage avec 'printf') est limitée à 100 caractères. Si le format de chaîne est omis, il est fixé par défaut à "%g". Pour les utilisateurs de LaTeX, le format "$%g$" est souvent adapté. Si la chaîne vide "" est passée, aucune étiquette n'est tracée à chaque graduation ; néanmoins, les graduations sont encore tracées. Pour éliminer toutes les graduations, utiliser set noxtics ou set noytics.

Le caractère "nouvelle ligne" (\n) est accepté dans les chaînes de formatage. Utiliser les guillemets doubles plutôt que les simples pour obtenir l'effet désiré. Voir aussi syntax.

Le format par défaut pour les deux axes est "%g", mais d'autres formats comme "%.2f" ou "%3.0em" sont souvent préférables. Tout ce qui est accepté par 'printf' pour ce qui est des nombres en double précision, et qui est accepté par le terminal, fonctionne. Quand le format de chaîne ressemble à un format à virgule flottante, gnuplot essaye de proposer un format raisonnable.

Les caractères non précédés par "%" sont affichés littéralement. Ainsi, il est possible d'inclure des unités et des étiquettes dans les chaînes de format, comme"%g m", qui affiche " m" après chaque nombre. Pour obtenir "%", il faut le doubler : "%g %%".

Voir aussi set xtics pour plus d'informations sur les étiquettes de graduation. Voir démo.

Spécificateurs de format [specif]
Spécificateurs de date/heure [date]


Spécificateurs de format [specif]

Les formats acceptables (en dehors du mode heure/date) sont :

      Format       Explication
      %f           notation virgule flottante
      %e or %E     notation exponentielle : "e" ou "E" avant l'exposant
      %g or %G     le plus court, entre %e (ou %E) et %f
      %x or %X     hexadécimal
      %o or %O     octal
      %t           mantisse de base 10
      %l           mantisse de base de l'échelle logarithmique courante
      %s           mantisse logarithmique courante ; notation scientifique
      %T           puissance de base 10
      %L           puissance de base de l'échelle logarithmique courante
      %S           notation scientifique
      %c           caractère de substitution pour la notation scientifique
      %P           multiple de pi

La notation "scientifique" (ou encore notation "ingénieur") utilise toujours un exposant multiple de 3. Le caractère de substitution pour la notation scientifique ("%c") est spécifique aux puissances de l'intervalle -18 à +18. Pour les nombres en dehors de cet intervalle le format passe automatiquement en exponentiel normal.

Les autres caractères spéciaux de formatage (qui viennent après le "%" mais avant le spécificateur de format) sont "-", qui justifie à gauche le nombre ; "+", qui force le signe explicite de tous les nombres ; "#", qui place un point décimal après les flottants qui ont une partie décimale nulle ; un entier positif, qui définit la largeur du champ ; "0" (zéro) précédant immédiatement la largeur de champ, qui indique que des zéros doivent être affichés à la place de blancs ; et un point décimal suivi d'un entier positif, qui définit la précision (le nombre minimal de chiffres d'un entier ou le nombre de chiffres formant la partie décimale d'un flottant).

Certaines versions de 'printf' ne supportent pas tous ces caractères spéciaux de formatage mais en supportent d'autres ; en cas de doute, voir la documentation adaptée et essayer.

Exemples :

      set format y "%t"; set ytics (5,10)          # "5.0" et "1.0"
      set format y "%s"; set ytics (500,1000)      # "500" et "1.0"
      set format y "+-12.3f"; set ytics(12345)     # "+12345.000  "
      set format y "%.2t*10^%+03T"; set ytic(12345)# "1.23*10^+04"
      set format y "%s*10^{%S}"; set ytic(12345)   # "12.345*10^{3}"
      set format y "%s %cg"; set ytic(12345)       # "12.345 kg"
      set format y "%.0P pi"; set ytic(6.283185)   # "2 pi"
      set format y "%.0P%%"; set ytic(50)          # "50%"

      set log y 2; set format y '%l'; set ytics (1,2,3)
      #affiche "1.0", "1.0" et "1.5" (car 3 = 1.5 * 2^1)

L'affichage de nombres comme 9.999 pose problème quand le format demande simultanément l'arrondi et la puissance.

Si les données de l'axe sont de type heure/date, la chaîne de formatage doit contenir les codes valides pour la fonction 'strftime' (indépendamment de gnuplot, taper "man strftime"). Voir set timefmt pour la liste des codes de format d'entrée autorisés.


Spécificateurs de date/heure [date]

En mode date/heure, les formats acceptés sont :

      Format       Explication
      %a           nom abrégé du jour de la semaine
      %A           nom complet du jour de la semaine
      %b or %h     nom abrégé du mois
      %B           nom complet du mois
      %d           jour du mois, 1--31
      %D           format direct pour "%m/%d/%y"
      %H or %k     heure, 0--24
      %I or %l     heure, 0--12
      %j           jour de l'année, 1--366
      %m           mois, 1--12
      %M           minute, 0--60
      %p           "am" ou "pm" (i.e. matin ou après-midi)
      %r           format direct pour "%I:%M:%S %p"
      %R           format direct pour "%H:%M"
      %S           secondes, 0--60
      %T           format direct pour "%H:%M:%S"
      %U           semaine de l'année (les semaines commencent le Dimanche)
      %w           jour de la semaine, 0--6 (Dimanche = 0)
      %W           semaine de l'année (les semaines commencent le Lundi)
      %y           année, 0-99
      %Y           année sur 4 chiffres

Les formats numériques peuvent tous être précédés d'un "0" (zéro) pour compléter les champs avec des zéros, et d'un chiffre positif, pour définir la largeur de champ minimale (qui est dépassée si la largeur spécifiée n'est pas suffisante pour le nombre). La longueur de texte est limitée à 24 caractères ; les chaînes plus longues sont tronquées.

Exemples:

Soit le texte "76/12/25 23:11:11". Alors

      set format x                 # valeur par défaut "12/25/76" \n "23:11"
      set format x "%A, %d %b %Y"  # "Saturday, 25 Dec 1976"
      set format x "%r %d"         # "11:11:11 pm 12/25/76"

Soit le texte "98/07/06 05:04:03". Alors

      set format x "%1y/%2m/%3d %01H:%02M:%03S"  # "98/ 7/  6 5:04:003"


function style (style des tracés de fonctions)

La commande set function style change le style de trait par défaut pour le tracé des fonctions.

Syntaxe :

      set function style <choix_style>
      show function style

Voir set style pour les différents choix. Si aucun choix n'est donné, une liste est alors proposée. show function style montre le style de trait par défaut pour les tracés de fonctions.


functions (fonctions)

La commande show functions liste toutes les fonctions définies par l'utilisateur ainsi que leurs définitions.

Syntaxe :

      show functions

Pour obtenir des informations sur la définition et l'usage des fonctions dans gnuplot, voir expressions. Splines comme fonctions définies par l'utilisateur. Usage des fonctions et des variables complexes pour une surface d'avion


grid (quadrillage)

La commande set grid permet de dessiner un quadrillage sous le tracé.

Syntaxe :

      set grid {{no}{m}xaxe} {{no}{m}yaxe} {{no}{m}zaxe}
               {{no}{m}x2axe} {{no}{m}y2axe}
               {polaire {<angle>}}
               { {style_ligne <style_ligne_principal>}
                 | {type_ligne | lt <type_ligne_principal>}
                   {épaisseur_ligne | lw <épaisseur_ligne_principale>}
                 { , {style_ligne | ls <style_ligne_secondaire>}
                     | {type_ligne | lt <type_ligne_secondaire>}
                       {épaisseur_ligne | lw <épaisseur_ligne_secondaire>} } }
      set nogrid
      show grid

Le quadrillage peut être activé ou désactivé pour les graduations majeures et mineures sur n'importe quel axe. Le type de ligne et l'épaisseur de ligne peuvent être spécifiés pour les lignes des graduations mineures et mineures, ainsi que par un style de ligne prédéfini, tant que le pilote du terminal les supporte.

De plus, un quadrillage polaire peut être sélectionné pour un tracé 2D : les cercles sont tracés de façon à couper les axes sélectionnés, et les lignes radiales sont dessinées aux intervalles définis. (l'intervalle est défini en degré ou en radians, selon le mode de set angles.) Remarquer que la grille polaire n'est plus générée d'office en mode polaire.

Les graduations pertinentes doivent être réglées avant que set grid ne puisse les afficher; gnuplot ignorera simplement les instructions de tracé de quadrillage s'il n'y a pas de graduations, mais il apparaîtra si les graduations sont définies ultérieurement.

Si aucun type de tracé n'est spécifié pour le quadrillage secondaire, le même type de ligne que pour le quadrillage principal sera utilisé. L'angle polaire par défaut est 30 degrés.

Par défaut, les lignes du quadrillage sont de largeur moitié de la largeur usuelle. Les spécification de largeur de lignes principale et secondaire multiplient cette valeur par défaut ; par exemple, set grid lw .5 tracera des lignes d'un quart de la largeur usuelle.

Les lignes du quadrillage suivant l'axe Z sont tracées en arrière plan. On obtient un meilleur rendu si une boîte est dessinée autour du graphe ; voir set border.


hidden3d (lignes cachées)

La commande set hidden3d autorise la suppression des lignes cachées dans les tracés de surface (voir splot). Quelques options de l'algorithme sous-jacent peuvent aussi être contrôlées en utilisant cette commande.

Syntaxe :

      set hidden3d {defaults} |
                   { {{offset <offset>} | {nooffset}}
                     {trianglepattern <bitpattern>}
                     {{undefined <level>} | {noundefined}}
                     {{no}altdiagonal}
                     {{no}bentover} }
      set nohidden3d
      show hidden3d

Contrairement à l'affichage habituel de gnuplot, la suppression des lignes cachées considère en fait les grilles représentatives de fonctions ou de données comme des surfaces réelles opaques ; ainsi les parties derrière la surface seront cachées par elle. Pour que cela soit possible, la surface a besoin d'avoir une structure en grille (voir à ce propos splot fichier), et doit être représentée avec des courbes (with lines) ou des points reliés par des courbes (with linespoints).

Quand hidden3d est activé, à la fois le morceau caché de surface et son contour dessiné sur la base (voir set contour) ainsi que le quadrillage seront cachés. Chaque surface a sa partie cachée, soit par elle-même, soit par d'autres surfaces dans le cas où plusieurs surfaces sont représentées, qui est effacée. Le tracé de contour sur la surface (set contour surface) ne fonctionne plus. Les étiquettes et les flèches sont toujours visibles et non altérées. La légende n'est jamais cachée par la surface.

Les fonctions sont évaluées à l'intersection des isocourbes. L'algorithme fait une interpolation linéaire entre les points de la fonction ou les points de données quand il détermine la partie visible des segments. Cela signifie que l'apparence de la fonction peut être différente quand elle est représentée avec hidden3d plutôt qu'avec nohidden3d car dans ce dernier cas, la fonction est évaluée sur chaque pas de discrétisation. Voir set samples et set isosamples pour une explication de la différence.

L'algorithme utilisé pour supprimer les parties cachées des surfaces possède quelques caractéristiques supplémentaires contrôlables par cette commande. En spécifiant defaults, ces caractéristiques seront initialisées par défaut comme expliqué ci-dessous. Si defaults n'est pas spécifié, seules quelques options explicitement spécifiées seront influencées : toutes les autres garderont les valeurs précédentes, ainsi vous pouvez activer ou désactiver la suppression des lignes cachées par set {no}hidden3d, sans modifier l'ensemble des options que vous aviez choisies.

La première option, offset, indique le style de courbe utilisé pour les courbes de la face arrière. Normalement, elles sont tracées avec un style de ligne qui a un index immédiatement supérieur à celui des lignes de la face avant afin de distinguer ces deux faces. Vous pouvez ajouter un décalage différent de 1 par offset <offset>. L'option nooffset est équivalente à offset 0 et conduit à utiliser le même style de ligne pour les deux faces.

Ensuite vient l'option trianglepattern <bitpattern>. <bitpattern> doit être un nombre compris entre 0 et 7, interprété comme un nombre de motif. Chaque nombre détermine la visibilité des cotés des triangles qui constituent la surface. Le bit 0 correspond au coté 'horizontal' de la grille (x constant), le bit 1 au coté vertical (y constant) et le bit 2 à la diagonale qui coupe chaque cellule de la grille horizontale en deux triangles. Le motif par défaut est 3='011', qui rend les courbes horizontales et verticales visibles mais pas les diagonales. Vous devez choisir 7='111' pour voir aussi les diagonales.

L'option undefined <level> vous permet de décider quel algorithme appliquer aux points de données qui sont indéfinis (manque de donnée ou valeur de la fonction indéfinie), ou qui dépassent les intervalles en x, y ou z. De tels points peuvent néanmoins être tracés, ou enlevés de l'ensemble des données. Tous les éléments de surface touchant un point qui a été enlevés du jeu de données seront effacés créant ainsi un trou dans la surface. Si <level> = 3, ce qui est équivalent à l'option noundefined, aucun point ne sera retiré. Ceci peut conduire à toutes sortes de problèmes, vous devriez donc l'éviter. <level> = 2 retirera les points non définis mais pas ceux hors des intervalles. <level> = 1, le niveau par défaut, vous débarrassera aussi des points hors intervalles.

En spécifiant noaltdiagonal, vous pouvez annuler la manipulation par défaut pouvant apparaître lors de cas particuliers, lorsque undefined est activé (i.e. <level> différent de 3). Chaque cellule de la grille structurée représentant la surface sera divisée en deux triangles le long d'une diagonale. Normalement, toutes les diagonales ont la même orientation relativement à la grille. Si exactement un des quatre coins d'une cellule est exclu par le champ undefined, et que celui ci est sur la diagonale, les deux triangles seront exclus. Cependant altdiagonal est activé (comportement par défaut), l'autre diagonale sera choisie pour la cellule, réduisant ainsi la taille des trous dans la surface.

L'option bentover contrôle ce qui arrive dans un autre cas particulier, cette fois en relation avec trianglepattern. Pour des surfaces relativement froissées, il peut arriver que deux triangles divisant une cellule de la surface soient vus sur deux faces opposées (i.e. le quadrangle original est torsadé ('bent over'), comme illustré dans la figure ci-dessous :

                                                              C----B
   quadrangle original :  A--B    quadrangle représenté :     |\   |
      ("set view 0,0")    | /|    ("set view 75,75" par ex.)  | \  |
                          |/ |                                |  \ |
                          C--D                                |   \|
                                                              A    D

Si le côté diagonal des cellules de la surface n'est pas explicitement rendu visible par le bit 2 du <bitpattern>, le coté CB ci-dessus ne sera pas dessiné du tout, rendant la représentation difficile à comprendre. Cependant, l'option par défaut de bentover le rendra visible dans ce cas. Si vous ne le voulez pas, vous pouvez choisir nobentover à la place. Hidden Line Removal Demo and Complex Hidden Line Demo.


isosamples

La densité des iso-courbes pour représenter des fonctions comme des surfaces peut être modifiée par la commande set isosamples.

Syntaxe :

      set isosamples <iso_1> {,<iso_2>}
      show isosamples

Chaque tracé de fonction représentant une surface aura <iso_1> courbes iso-u et <iso_2> courbes iso-v. Si vous spécifiez uniquement <iso_1>, <iso_2> prendra la même valeur que <iso_1>. Par défaut, l'échantillonnage est fixé à 10 iso-courbes sur les axes u et v. Un taux d'échantillonnage plus élevé produira un tracé plus précis, mais prendra plus de temps. Ces paramètres n'ont aucun effet sur le tracé des fichiers de données.

Une iso-courbe est une courbe paramétrée par un seul paramètre, les autres paramètres de la surface étant fixés. Les iso-courbes fournissent un moyen simple de représenter une surface. En fixant le paramètre u de la surface s(u,v), les courbes iso-u de la forme c(v)=s(u0,v) sont produites et en fixant le paramètre v, les courbes iso-v de la forme c(u)=s(u,v0) sont produites.

Quand un tracé de fonction représentant une surface est fait sans suppression des lignes cachées, set samples spécifie le nombre de point échantillonnés le long de chaque iso-courbe ; voir set samples et set hidden3d. L'algorithme de contour suppose qu'un échantillonnage de la fonction est fait à chaque intersection des iso-courbes, ainsi une modification de samples aussi bien que de isosamples peut être nécessaire quand on change la résolution d'un tracé de surface ou d'un contour.


key (légende)

La commande set key permet d'avoir une légende décrivant le tracé.

Le contenu de la légende, i.e. le nom donné à chaque fonction ou jeu de données tracé, les échantillons de styles des traits et/ou des symboles utilisés pour les représenter, sont déterminés par les options title et with des commandes plot et splot. Reportez-vous à plot title et plot with pour plus d'informations.

Syntaxe :

      set key {  left | right | top | bottom | outside | below
               | <position>}
              {Left | Right} {{no}reverse}
              {samplen <long_ech>} {spacing <esp_vert>}
              {width <incr_larg>}
              {title "<texte>"}
              {{no}box { {linestyle | ls <line_style>}
                         | {linetype | lt <line_type>}
                           {linewidth | lw <line_width>}}}
      set nokey
      show key

Par défaut, la légende est placée dans le coin supérieur droit du graphe. Les mots-clés left (à gauche), right (à droite), top (en haut), bottom (en bas), outside (en dehors) et below (au dessous) peuvent être utilisés pour placer la légende dans d'autres coins à l'intérieur du graphe ou sur la droite (outside) ou en dessous (bellow) du graphe. Ces mots-clés peuvent être seuls ou combinés.

L'alignement des étiquettes à l'intérieur de la légende est contrôlé par Left (à gauche) ou Right (à droite), l'alignement par défaut étant Right. Le texte et l'échantillon de tracé peuvent être permutés (reverse) et un cadre peut être tracé autour de la légende (box {...}) dans un type de ligne spécifié linetype et une épaisseur de ligne linewidth, ou un style de ligne linestyle défini par l'utilisateur. Notez que tous les pilotes de terminal ne supportent pas la sélection de l'épaisseur de ligne.

La longueur de l'échantillon de courbe peut être ajustée avec samplen. La longueur de l'échantillon est calculée comme la somme de la longueur d'une graduation et de <long_ech> multiplié par la largeur d'un caractère. samplen affecte aussi la position des points (si la fonction est représentée avec des points) dans la légende car ces points sont tracés au milieu de l'échantillon de ligne même lorsque celui-ci n'est pas représenté. <long_ech> doit être un entier.

L'espacement vertical entre les échantillons de courbe est contrôlé par spacing. L'espacement est égal au produit de la taille des points, la taille des graduations verticales, et de <esp_vert>. Le logiciel garantit que l'espacement vertical ne sera pas inférieur à la hauteur des caractères.

L'argument <incr_larg> est un nombre de de caractères à ajouter ou à soustraire de la longueur de la chaîne de caractères pour le calcul de la largeur. C'est utile dans le cas où on ajoute un cadre autour de la légende et qu'on utilise des caractères de contrôle dans le texte. gnuplot compte simplement le nombre de caractère de la chaîne pour calculer la largeur du cadre ; ceci vous autorise à faire des corrections.

Un titre peut être placé sur la légende (title "<texte>") ; voir aussi syntax pour faire la distinction entre un texte entre apostrophes et entre guillemets. Le titre de la légende utilise le même alignement que le titre du graphe.

Les paramètres par défaut pour set key sont right, top, Right, noreverse, samplen 4, spacing 1.25, title "", et nobox. Le type de courbe par défaut est le même que celui utilisé pour le tracé du cadre. En entrant set key sans options, on obtient une légende configurée par défaut.

La <position> peut être un simple x,y,z comme dans les versions précédentes, mais ils peuvent être précédés par un des quatre mots-clés (first, second, graph, screen) qui sélectionne le système de coordonnées dans lequel la position est spécifiée. Voir help coordonnees pour plus de détails.

La légende est représentée comme une suite de lignes, chacune décrivant une courbe. Sur la droite (ou sur la gauche si reverse est activé) de chaque ligne, il y a un dessin censé représenter le style de tracé de la courbe. De l'autre coté de chaque ligne, il y a un texte de description (le titre de la courbe), obtenu d'après la commande plot. Les lignes sont justifiées verticalement de façon à ce qu'une ligne imaginaire sépare les côtés droit et gauche de la légende. C'est les coordonnées du haut de cette ligne imaginaire qui sont spécifiées avec la commande set key. Dans un tracé plot, seules les coordonnées x et y sont utilisées pour spécifier la position de cette ligne. Dans un tracé splot, x, y et z sont toutes utilisées comme repérage de la position 3D en utilisant le même repérage que celui du graphe pour indiquer la position 2D sur l'écran de cette ligne imaginaire.

Certaines ou toutes les légendes peuvent être en dehors des frontières du graphe bien que ceci puisse interférer avec d'autres étiquettes et puisse provoquer des erreurs sur certains pilotes. Si vous utilisez les mots-clés outside ou below, gnuplot réserve de l'espace pour la légende et le graphe devient plus petit. En mettant la légende extérieure à droite, elle occupe le moins de colonnes possible et en la mettant en dessous, elle occupe autant de colonnes que possible (dépendant de la longueur des étiquettes), empiétant ainsi au minimum sur l'espace réservé au graphe.

Quand on utilise TeX ou PostScript comme pilote, ou des pilotes similaires nécessitant l'inclusion de directives de formattage dans les chaînes, gnuplot est incapable de calculer correctement la largeur de la chaîne pour placer la légende. Si la légende doit être placée à gauche, il peut être pratique d'utiliser la combinaison set key left Left reverse. Le cadre et le trou dans le quadrillage auront la largeur de la chaîne réelle.

Si splot est utilisé pour le tracé des contours, les étiquettes des contours seront représentées dans la légende. Si l'alignement de ces étiquettes est médiocre ou si un nombre différent de décimales est désiré, le format des étiquettes peut être spécifié. Voir set clabel pour des détails.

Exemples :

Ceci produit une légende avec les attributs par défaut :

      set key

Ceci supprime la légende :

      set nokey

Ceci place une légende au point de coordonnée 2, 3.5, 2 dans le système de coordonnées par défaut (le premier) :

      set key 2,3.5,2

Ceci place la légende au dessous du graphe :

      set key below

Ceci place la légende dans le coin inférieur gauche, aligne le texte sur la gauche, donne un titre et trace un cadre de type de ligne 3 :

      set key left bottom Left title 'Légende' box 3


label (étiquette)

N'importe quelle étiquette peut être placée sur le dessin en utilisant la commande set label.

Syntaxe :

      set label {<référence>} {"<texte_étiquette>"} {at <position>}
                {<justification>} {{no}rotate} {font "<nom><,taille>"}
      set nolabel {<référence>}
      show label

La position est spécifiée soit par x, y soit par x, y, z et peut être précédée de first, second, graph, ou screen pour sélectionner le système de coordonnées. Voir coordinates pour des détails.

La référence est un entier utilisée pour identifier l'étiquette. Si aucune <référence> n'est donnée, la plus petite référence non utilisée est automatiquement assignée. La référence peut être utilisée pour détruire ou modifier une étiquette spécifique. Pour changer un attribut d'une étiquette existante, utilisez la commande set label avec la référence appropriée, et indiquez la partie de l'étiquette à modifier.

Par défaut, le texte est placé à gauche du point x,y,z. Pour modifier la façon dont l'étiquette est positionnée par rapport au point x,y,z, ajouter le paramètre <justification>, qui peut être left (à gauche), right (à droite) ou center (centrée), indiquant que le point doit être à gauche, à droite ou au centre du texte. Les étiquettes en dehors des frontières du tracé sont permises mais peuvent interférer avec les étiquettes des axes ou d'autres textes.

Si rotate est spécifié, l'étiquette est affichée verticalement (si le terminal le permet bien sûr).

Si un (ou plusieurs) axe représente des données temporelles, les coordonnées appropriées doivent être données comme des chaînes de temps entre guillemets suivant le format de chaîne timefmt. Voir set xdata et set timefmt.

Les pilotes EEPIC, Imagen, LaTeX, et TPIC admettent "\\" dans une chaîne pour indiquer un passage à la ligne.

Exemples :

Pour positionner une étiquette "y=x" en (1,2), utilisez :

      set label "y=x" at 1,2

Pour mettre un Sigma de taille 24, de la police Symbol, au centre du graphe, utilisez :

       set label "S" at graph 0.5,0.5 center font "Symbol,24"

Pour mettre une étiquette "y=x^2" dont la droite du texte serait en (2,3,4), et avec une référence égale à 3, utilisez :

      set label 3 "y=x^2" at 2,3,4 right

Pour changer l'étiquette précédente afin de centrer le texte, utilisez :

      set label 3 center

Pour supprimer l'étiquette numéro 2, utilisez :

      set nolabel 2

Pour détruire toutes les étiquettes, utilisez :

      set nolabel

Pour montrer toutes les étiquettes (par ordre de référence), utilisez :

      show label

Pour mettre une étiquette sur le graphe avec des données temporelles sur l'axe x, utilisez par exemple :

      set timefmt "%d/%m/%y,%H:%M"
      set label "Harvest" at "25/8/93",1


linestyle (style de ligne)

Chaque terminal a, par défaut, un ensemble de types de points et de lignes, qui peut être visualisé en utilisant la commande test. set linestyle permet de définir un ensemble de types et de largeurs de ligne ainsi qu'un ensemble de types et de tailles de point pour que vous puissiez vous y référer plus tard par un index au lieu de répéter à chaque invocation toutes les informations.

Syntaxe :

      set linestyle <index> {linetype | lt <type_ligne>}
                            {linewidth | lw <largeur_ligne>}
                            {pointtype | pt <type_point>}
                            {pointsize | ps <taille_point>}
      set nolinestyle
      show linestyle

Les types de lignes et de points sont pris dans les types par défaut pour le terminal que vous utilisez. La largeur des lignes et la taille des points sont des multiples de la largeur et de la taille par défaut (mais remarquez que <taille_point> ici n'est pas affectée par le multiple donné par 'set pointsize').

Les types de lignes et de points par défaut sont ceux de l'index. Les largeur de ligne et taille de point sont à 1 par défaut.

Les styles de ligne créés par ce mécanisme ne remplacent pas les styles par défaut ; les deux peuvent être utilisés.

Tous les terminaux ne supportent pas les options linewidth et pointsize ; si elles ne sont pas supportées, elles seront ignorées.

Remarquez que ces options ne sont pas complètement implémentées ; les styles de ligne définis par ce mécanisme peuvent être utilisés avec 'plot', 'splot', 'replot', et 'set arrow', mais pas par d'autres commandes qui demandent à utiliser l'index par défaut, comme 'set grid'.

Exemple : Supposez que les lignes par défaut pour les indices 1, 2 et 3 soient rouge, verte et bleue et que les formes de points pour les mêmes indices soient un carré, une croix et un triangle. Alors

      set linestyle 1 lt 2 lw 2 pt 3 ps 0.5

définit un nouveau style de ligne qui est vert et dont la largeur est le double de celle par défaut et un style de point qui est un triangle de taille réduite de moitié. Les commandes

      set function style lines
      plot f(x) lt 3, g(x) ls 1

créeront un tracé de f(x) en utilisant une ligne bleue par défaut et un tracé de g(x) utilisant la ligne verte et large définie par l'utilisateur. De même les commandes

      set function style linespoints
      plot p(x) lt 1 pt 3, q(x) ls 1

créeront un tracé de f(x) utilisant les triangles par défaut reliés par une ligne rouge et un tracé de q(x) avec des petits triangles reliés par une ligne verte.


lmargin (marge de gauche)

La commande set lmargin fixe la taille de la marge de gauche. Reportez-vous à set margin pour plus de détails.


locale (langue par défaut)

Le paramètre locale détermine quelle langue utiliser pour afficher les jours et mois dans {x,y,z}{d,m}tics.

Syntaxe :

      set locale {"<locale>"}

<locale> peut être n'importe quelle langue que votre installation accepte. Voir la documentation de votre système pour les options convenables. La valeur par défaut est déterminée par la variable d'environnement LANG.


logscale (échelle logarithmique)

Une échelle logarithmique peut être employée sur les axes x, y, z, x2 et y2.

Syntaxe :

      set logscale <axes> <base>
      set nologscale <axes>
      show logscale

où <axes> peut être n'importe quelle combinaison de x, y, et z, dans n'importe quel ordre, ou x2 ou y2 et où <base> est la base du logarithme. Si la base n'est pas spécifiée, c'est 10 par défaut. Si <axes> n'est pas spécifié, alors tous les axes sont concernés. set nologscale désactive l'échelle logarithmique pour les axes spécifiés.

Exemples :

Pour activer une échelle logarithmique sur les axes x et z :

      set logscale xz

Pour activer une échelle logarithmique en base 2 sur l'axe y :

      set logscale y 2

Pour désactiver une échelle logarithmique sur l'axe z :

      set nologscale z


mapping (représentation)

Si des données sont fournies à splot en coordonnées cylindriques ou sphériques, la commande set mapping doit indiquer à gnuplot comment les interpréter.

Syntaxe :

      set mapping {cartesian | spherical | cylindrical}

Le système cartésien est utilisé par défaut.

Pour un système de coordonnées sphériques, les données occupent deux ou trois colonnes (ou des entrées using). Les deux premières sont l'angle polaire et l'azimut theta et phi (dans l'unité précisée par set angles). Le rayon r est pris dans la troisième colonne s'il y en a une, ou pris égal à 1 sinon. La représentation est :

      x = r * cos(theta) * cos(phi)
      y = r * sin(theta) * cos(phi)
      z = r * sin(phi)

Notez que ceci est un système sphérique "géographique", plutôt que polaire.

Pour un système de coordonnées cylindriques, les données occupent aussi deux ou trois colonnes. Les deux premières sont interprétées comme theta (dans l'unité spécifiée par set angles) et z. Le rayon est de nouveau la troisième colonne ou fixé à 1 si celle-ci n'existe pas comme dans le cas des coordonnées sphériques. La représentation est :

      x = r * cos(theta)
      y = r * sin(theta)
      z = z

Les effets d'une représentation mapping peuvent être pris en charge par le filtre using de la commande splot, mais la représentation mapping est plus pratique lorsque beaucoup de fichiers de données doivent être traités. Cependant, même lorsque mapping est utilisé, using est encore nécessaire si le fichier de données n'est pas bien ordonné.

mapping n'a aucun effet sur plot. Mapping Demos.


margin (marges)

Les marges calculées peuvent être écrasées par les commandes set margin. show margin montre les paramètres courants.

Syntaxe :

      set bmargin {<margin>}
      set lmargin {<margin>}
      set rmargin {<margin>}
      set tmargin {<margin>}
      show margin

Les unités de <margin> sont les hauteurs et largeurs de caractères. Une valeur positive définit la taille absolue de la marge.Une valeur négative (ou aucune valeur) conduit gnuplot à revenir à la valeur calculée.

Normalement, les marges d'un tracé sont calculées automatiquement, à partir des graduations, des étiquettes de graduations, des étiquettes d'axes, du titre du tracé, de l'horodatage et de la taille de la légende, si elle est à l'extérieur du tracé. Malgé tout, si les graduations sont attachées aux axes (par set xtics axis par exemple), ni les graduations ni leurs étiquettes ne seront incluses dans le calcul des marges, ni dans celui de la position des autres textes à placer dans la marge. Cela peut aboutir à des étiquettes de graduations recouvrant d'autres textes si l'axe est trop près du bord.


missing (donnée manquante)

La commande set missing vous permet de dire à gnuplot quel caractère est utilisé dans un fichier de données pour spécifier une donnée manquante.

Syntaxe :

      set missing {"<caractère>"}
      show missing

Exemple :

      set missing "?"

veut dire, qu'un tracé du fichier contenant

         1 1
         2 ?
         3 2

ignorera la ligne du milieu.

Il n'y a pas de caractère par défaut pour missing.


multiplot (tracé multiple)

La commande set multiplot place gnuplot dans le mode des tracés multiples, où plusieurs tracés sont placés sur la même page, fenêtre, ou écran.

Syntaxe :

      set multiplot
      set nomultiplot

Pour quelques terminaux, aucun tracé n'est représenté jusqu'à ce que la commande set nomultiplot soit donnée, ce qui provoque l'affichage de la page entière puis ramène gnuplot dans son mode normal de tracé unique. Pour d'autres terminaux, chaque tracé (plot) distinct produit un tracé, mais l'écran n'est pas rafraîchit entre les tracés.

Toutes les étiquettes ou flèches qui ont été définies seront représentées sur chaque tracé selon la taille courante et l'origine (à moins que ses coordonnées ne soient définies dans le système écran screen). Tout ce qui peut être spécifié par la commande set sera représenté dans chaque tracé. Si vous voulez que quelque chose n'apparaisse qu'une fois sur la page, par exemple l'heure, vous devrez insérer la paire set time/set notime autour d'une des commandes plot, splot or replot à l'intérieur du bloc set multiplot/set nomultiplot.

Les commandes set origin et set size doivent être utilisées pour positionner correctement chaque tracé ; voir set origin et set size pour les détails concernant leur utilisation.

Exemple :

      set size 0.7,0.7
      set origin 0.1,0.1
      set multiplot
      set size 0.4,0.4
      set origin 0.1,0.1
      plot sin(x)
      set size 0.2,0.2
      set origin 0.5,0.5
      plot cos(x)
      set nomultiplot

affiche un tracé de cos(x) au dessus d'un tracé de sin(x). Remarquez les set size et set origin initiaux. Bien que ce ne soit pas toujours nécessaire, leur inclusion est recommandée. Quelques pilotes de terminal requièrent que les informations sur la boîte de contour (bounding box) soient disponibles avant qu'un tracé puisse être affiché, et la forme donnée ci-dessus garantit que la boîte de contour inclura l'ensemble des tracés plutôt que la boîte de contour du premier tracé.

set size et set origin font référence à la surface de tracé utilisée pour chaque tracé. Si vous voulez avoir des axes alignés, vous pouvez spécifier que les marges soient de la même taille avec la commande set margin. Voir set margin pour son utilisation. Remarquez que les marges sont absolues, que l'unité est le caractère, et que l'apparence du graphe dans l'espace restant dépendra de la taille de l'écran du périphérique d'affichage, certainement très différente sur un écran vidéo et sur une imprimante. See demo.


mx2tics

Les marques des graduations mineures le long de l'axe x2 (celui du haut) sont contrôlées par la commande set mx2tics. Voir set mxtics.


mxtics

Les marques de graduations mineures le long de l'axe x sont contrôlées par set mxtics. Elles peuvent être désactivées par set nomxtics. Des commandes similaires contrôlent les graduations mineures le long des autres axes.

Syntaxe :

      set mxtics {<freq> | default}
      set nomxtics
      show mxtics

La même syntaxe s'applique à mytics, mztics, mx2tics et my2tics.

<freq> est le nombre de sous-intervalles (PAS le nombre de graduations mineures) entre les graduations majeures (dix est la valeur par défaut pour une graduations linéaire, ainsi il y a neuf graduations mineures entre deux graduations majeures). En sélectionnant default, on obtiendra un nombre de graduations mineures égale à la valeur par défaut.

Si la graduation est logarithmique, le nombre de sous-intervalles sera fixé à un nombre raisonnable par défaut (basé sur la longueur d'une décade). Ceci sera annulé si <freq> est spécifié. Cependant les graduations mineures habituelles (2, 3, ...., 8, 9 entre 1 et 10, par exemple) sont obtenues en positionnant <freq> à 10, même s'il y a seulement neuf sous-intervalles.

Les graduations mineures peuvent être utilisées seulement avec des graduations majeures uniformément espacées. Comme les graduations majeures peuvent être placées arbitrairement avec la commande set {x|x2|y|y2|z}tics, les graduations mineures ne peuvent pas être utilisées si les graduations majeures sont explicitement spécifiées.

Par défaut, les graduations mineures sont désactivées pour les axes gradués linéairement et activées pour les axes gradués logarithmiquement. Elles héritent des paramètres axis|border et {no}mirror spécifiés pour les graduations principales. Voir set xtics pour des informations à ce propos.


my2tics

Les marques de graduations mineures le long de l'axe y2 (celui de droite) sont contrôlées par la commande set my2tics. Voir set mxtics.


mytics

Les marques de graduations mineures le long de l'axe y sont contrôlées par la commande set mytics. Voir set mxtics.


mztics

Les marques de graduations mineures le long de l'axe z sont contrôlées par la commande set mztics. Voir set mxtics.


offsets (retraits)

Les retraits (offsets) permettent de laisser une bordure vide autour des données dans un graphe mis à l'échelle automatiquement.

Syntaxe :

      set offsets <gauche>, <droite>, <haut>, <bas>
      set nooffsets
      show offsets

Chaque offset peut être une constante ou une expression, par défaut à 0. Les retraits droite et gauche sont donnés dans la même unité que l'axe des x, les retraits haut et bas dans celle de l'axe des y. Un retrait positif élargit le graphe dans la direction spécifiée, par exemple un retrait bas positif rend ymin "plus négatif". Les retraits négatifs, bien qu'autorisés, peuvent avoir des effets inattendus sur la mise à l'échelle et le formattage (clipping) automatiques.

Les retraits sont ignorés par splot.

Exemple :

      set offsets 0, 0, 2, 2
      plot sin(x)

Ce graphe de sin(x) aura un intervalle en y égal à [-3:3], car la fonction sera mise à l'échelle automatiquement sur [-1:1] et les retraits verticaux sont fixés à 2.


origin (origine)

La commande set origin sert à spécifier l'origine de l'aire de tracé (le graphe et ses marges) sur l'écran. Les coordonnées sont données dans le système de coordonnées écran (voir coordonnées pour des explications sur ce système).

Syntaxe :

      set origin <origine-x>,<origine-y>


output (sortie)

Par défaut, les tracés sont affichés sur la sortie standard. La commande set output les redirige vers le fichier ou le périphérique spécifié.

Syntaxe :

      set output {"<nomfichier>"}
      show output

Le nom de fichier doit être entre guillemets. Si le nom de fichier est omis, tout fichier de sortie ouvert précédemment sera fermé et les futures sorties seront dirigées vers stdout (la sortie standard).

Les utilisateurs de MSDOS doivent noter que le caractère \ a une signification particulière dans les chaînes entre guillemets, donc des apostrophes doivent être utilisées pour spécifier un fichier avec son chemin d'accès.

Quand set terminal et set output sont utilisés ensemble, il vaut mieux spécifier set terminal en premier, car certains terminaux positionnent un indicateur nécessaire pour certains systèmes d'exploitation. C'est le cas par exemple si le système doit savoir si un fichier est formaté ou pas avant de l'ouvrir.

Sur des systèmes utilisant des fonctions popen (Unix), la sortie peut être dirigée sur une commande shell par un tube (pipe) si le premier caractère non blanc du nom de fichier est un '|'. Par exemple,

      set output "|lpr -Plaser fichier"
      set output "|lp -dlaser fichier"

Sur les machines MSDOS, set output "PRN" dirigera la sortie vers l'imprimante par défaut. Sous VMS, la sortie peut être envoyée directement vers tout périphérique géré par une file d'attente. Il est aussi possible d'envoyer la sortie vers le systèmre de tâches transparentes DECnet, qui permet une certaine souplesse.


parametric (mode paramétrique)

La commande set parametric remplace les tracés normaux (fonctionnels) par des tracés paramétriques. La commande set noparametric restaure le style normal de tracé (graphe de fonction).

Syntaxe :

      set parametric
      set noparametric
      show parametric

En 2D, un tracé paramétrique est déterminé par une paire de fonctions opérant sur un paramètre. Un exemple de tracé paramétrique pourrait être plot sin(t),cos(t), qui dessine un cercle (si le ratio d'aspect est correct, voir set size). gnuplot affichera un message d'erreur s'il n'y a pas exactement deux paramètres fournis à plot.

En 3D, une surface paramétrique est décrite par x=f(u,v), y=g(u,v), z=h(u,v). Un triplet de fonctions est donc nécessaire. Un exemple de tracé paramétrique serait cos(u)*cos(v),cos(u)*sin(v),sin(u), qui dessine un sphère. gnuplot affichera un message d'erreur s'il n'y a pas exactement trois paramètres fournis à splot.

Notez l'ordre des fonctions à respecter : fx, fy (et fz), et qui opèrent toutes sur le domaine paramétrique commun.

De plus, le mode paramétrique implique de nouveaux intervalles de valeurs. Alors que le mode normal de tracé f(x) et f(x,y) suppose des intervalles définis pour x, y et z, le mode paramétrique utilise en plus des intervalles pour t, u et v. Ces intervalles peuvent être réglés directement par les commandes set trange, set urange et set vrange, ou en précisant les intervalles dans les commandes plot et splot. L'intervalle par défaut pour ces variables paramétriques est [-5:5] mais il est généralement pertinent de le modifier.


pointsize (taille des points)

La commande set pointsize règle la taille des points utilisés dans les tracés.

Syntaxe :

      set pointsize <facteur>
      show pointsize

facteur vaut 1.0 par défaut. Des points plus gros peuvent être utiles pour rendre les points plus visibles dans des graphes bitmap.

La taille des points peut être changée pour un seul tracé dans la commande plot elle-même. Référez-vous à plot pour les détails.

Veuillez noter que le réglage de la taille des points n'est pas possible sur tous les types de terminaux.


polar (mode polaire)

La commande set polar change le mode de tracé dex coordonnées rectangulaires aux coordonnées polaires.

Syntaxe :

      set polar
      set nopolar
      show polar

Il y a eu des changements dans le mode polaire dans la version 3.7, de sorte que les scripts pour les versions 3.5 et antérieures de gnuplot doivent être modifiés. Le changement principal est que la variable muette utilisée pour l'angle est t, de sorte que les intervalles en x et y peuvent être contrôlés indépendamment. Voici les autres changements : 1) les graduations ne sont plus tracées automatiquement le long des axes ; utilisez set xtics axis nomirror; set ytics axis nomirror; 2) le quadrillage, s'il est sélectionné, n'est plus automatiquement polaire ; utilisez set grid polar; 3) le quadrillage n'est pas étiqueté avec les angles ; utilisez set label avec les paramètres convenables.

En coordonnées polaires, la variable muette (t) est un angle. L'intervalle par défaut pour t est [0:2*pi], ou, si les degrés ont été sélectionnés, [0:360] (voir set angles).

La commande set nopolar repasse dans le système par défaut de coordonnées rectangulaires.

La commande set polar n'est pas supportée par splot. Voir la commande set mapping pour des fonctionnalités similaires de splot. En coordonnées polaires, la signification d'une expression en t est exactement r=f(t), où t est l'angle de rotation. L'intervalle en t contrôle le domaine (l'angle) de la fonction, et les intervalles en x et y contrôlent les intervalles de tracé. Chacun de ces intervalles, ainsi que celui en r, peut être réglé automatiquement par gnuplot ou explicitement par l'utilisateur. Voir set xrange pour tous les détails sur les commandes set range.

Exemple :

      set polar
      plot t*sin(t)
      plot [-2*pi:2*pi] [-3:3] [-3:3] t*sin(t)

Le premier plot utiliser le domaine angulaire polaire par défaut, de 0 à 2*pi. Le rayon et la taille du graphe sont réglés automatiquement. Le second plot augmente le domaine de définition et restreint la taille du graphe à [-3:3] dans les deux directions.

Vous voudrez peut-être utiliser la commande set size square pour dire à gnuplot de mettre le ration d'aspect à 1, afin que les cercles ressemblent à des cercles. Démonstrations du mode polaire Tracé de données polaires.


rmargin (marge droite)

La commande set rmargin règle la taille de la marge droite. Veuillez vous référer à set margin pour les détails.


rrange (intervalle en r)

La commande set rrange règle l'intervalle des coordonnées radiales d'un graphe en mode polaire. Veuillez vous référer à set xrange pour les détails.


samples (échantillonnage)

Le taux d'échantillonnage des fonctions (ou des données interpolées) peut être changé par la commande set samples.

Syntaxe :

      set samples <samples_1> {,<samples_2>}
      show samples

Par défaut, l'échantillonnage est fixé à 100 points. Un taux d'échantillonnage plus élevé produira des tracés plus précis, mais nécessitant plus de temps. Ce paramètre est sans effet sur le tracé de données, à moins que les options d'interpolation/approximation ne soient utilisées. Voir plot smooth pour les données 2D et set cntrparam et set dgrid3d pour les données 3D.

Pour un tracé 2D, seule la valeur de <samples_1> est utile.

Quand un tracé de surface est effectué sans suppression des lignes cachées, la valeur de samples indique le nombre d'évaluations à faire pour chaque isocourbe. chaque courbe iso-v connectera <sample_1> échantillons et chaque iso-u connectera <sample_2> échantillons. Si vous spécifiez seulement <samples_1>, <samples_2> prendra la même valeur. Voir aussi set isosamples.


size (taille)

La commande set size règle la taille d'affichage du tracé.

Syntaxe :

      set size {{no}square | ratio <r> | noratio} {<ech_x>,<ech_y>}
      show size

Les valeurs <ech_x> et <ech_y> sont les facteurs d'échelle de la taille du tracé, qui inclut le graphe et les marges.

ratio dit à gnuplot d'essayer de créer un graphe avec un ratio d'aspect <r> (la longueur de l'axe y sur la longueur de l'axe x) à l'intérieur de la portion de tracé spécifiée par <ech_x> et <ech_y>.

La signification d'une valeur de <r> négative est différente. Si <r>=-1, gnuplot essaie de régler les facteurs d'échelle de sorte que l'unité ait la même longueur sur les deux axes (intéressant pour les données géographiques, par exemple). Si <r>=-2, l'unité en y est deux fois plus longue que l'unité en x, etc.

La production effective d'un graphe respectant le ratio d'aspect demandé dépend du terminal sélectionné. L'aire de tracé sera le plus grand rectangle de ration d'aspect <r> qui rentre dans la portion spécifiée de sortie (en laissant des marges adéquates, bien sûr).

square est synonyme de ratio 1.

noratio et nosquare remettent le ratio d'aspect par défaut du terminal, mais ne remettent pas <ech_x> et <ech_y> à leur valeur par défaut (1.0).

ratio et square sont sans effet sur les tracés 3D.

set size est relatif à la taille par défaut, qui dépend du terminal. Comme gnuplot utilise par défaut la plus grande surface de tracé possible, il est plus sûr d'essayer de réduire la taille du tracé que de l'augmenter. Voir set terminal pour les tailles par défaut. Sur certains terminaux, un changement de la taille du tracé causera des problèmes dans l'emplacement du texte.

Exemples :

Pour (re)mettre la taille normale :

      set size 1,1

Pour un graphe réduit de moitié (en dimension) et d'aspect carré :

      set size square 0.5,0.5

Pour faire un graphe deux fois plus haut que large :

      set size ratio 2

Démos.


style

Les styles par défaut sont choisis avec les commandes set function style et set data style. Voir plot with pour des informations sur la façon de redéfinir le style de tracé par défaut pour des fonctions individuelles et des jeux de données.

Syntaxe :

      set function style <style>
      set data style <style>
      show function style
      show data style

Le type utilisé pour tous les styles de point et de ligne (i.e. continu, trait-point, couleur, etc. pour les lignes ; cercles, carrés, croix etc. pour les points) sera soit celui spécifié dans les commandes plot ou splot, soit celui choisi séquentiellement à partir des types auxquels le terminal utilisé a accès. Utiliser la commande test pour voir ce qui est disponible.

Aucun des styles requérant plus de deux colonnes d'informations (par exemple errorbars) ne peut être utilisé avec splot, ni avec plot pour les fonctions. Ni boxes ni aucun des styles steps ne peut être utilisé avec splot. Si un style inapproprié est spécifié, il est changé en points.

Pour des données 2D avec plus de deux colonnes, gnuplot est pointilleux sur les styles errorbar autorisés. L'option using de la commande plot peut être utilisée pour positionner les colonnes correctes pour le style que vous voulez. (Dans cette discussion, "colonne" sera utilisé pour parler à la fois d'une colonne du fichier de données et d'une entrée dans la liste using.)

Pour trois colonnes, seuls xerrorbars, yerrorbars (ou errorbars), boxes, et boxerrorbars sont autorisés. Si un autre style de tracé est utilisé, le style est changé en yerrorbars. Le style boxerrorbars calculera la largeur de boîte automatiquement.

Pour quatre colonnes, seuls xerrorbars, yerrorbars (ou errorbars), xyerrorbars, boxxyerrorbars, et boxerrorbars sont autorisés. Un style illégal est changé en yerrorbars.

Des données sur cinq colonnes autorisent seulement les styles boxerrorbars, financebars, et candlesticks. Les deux derniers sont utilisés essentiellement pour des graphes de prix financiers. Un style illégal est changé en boxerrorbars avant le tracé.

Des données sur six et sept colonnes autorisent seulement les styles xyerrorbars et boxxyerrorbars. Les styles illégaux sont changés en xyerrorbars avant le tracé.

Pour plus d'information sur les barres d'erreur, veuillez vous référer à plot errorbars.

boxerrorbars
boxes
boxxyerrorbars
candlesticks
dots
financebars
fsteps
histeps
impulses
lines
linespoints
points
steps
vector
xerrorbars
xyerrorbars
yerrorbars


boxerrorbars

Le style boxerrorbars est pertinent seulement pour le tracé de données 2D. C'est une combinaison des styles boxes et yerrorbars. La largeur de boîte viendra de la quatrième colonne si les erreurs sur y sont de la forme de "ydelta" et si la largeur de boîte n'a pas été précédemment posée égale à -2.0 (set boxwidth -2.0) ou de la cinquième colonne si les erreurs sur y sont sous la forme "ybas yhaut". Le cas spécial boxwidth = -2.0 est pour les donnés sur quatre colonnes avec les erreurs sur y sous la forme "ybas yhaut". Dans ce cas, la largeur de boîte est calculée de manière à ce que chaque boîte touche les boîtes adjacentes. La largeur est aussi calculée dans les cas où des données sur trois colonnes sont utilisées.

La hauteur de boîte est determinée à partir de l'erreur en y de la même façon que pour le style yerrorbars - soit de y-ydelta à y+ydelta soit de ybas à yhaut, en fonction du nombre de colonnes fournies. Voir Demo.


boxes

Le style boxes n'est utile que pour les tracés 2D. Il dessine une boîte centrée sur la coordonnée x donnée à partir de l'axe des x (non pas le bord du graphe) et la coordonnée y donnée. La largeur de la boîte est obtenue de trois façons possibles. S'il s'agit d'un graphe de données et si le fichier a une troisième colonne, celle-ci est utilisée pour fixer la largeur de la boîte. Sinon, si une largeur a été fixée en utilisant la commande set boxwidth, celle-ci est utilisée. Si aucune de ces données n'est disponible, la largeur de chaque boîte est calculée automatiquement de façon à ce qu'elle touche les boîtes adjacentes.


boxxyerrorbars

Le style boxxyerrorbars n'est utile que pour les tracés 2D. C'est une combinaison des styles boxes et xyerrorbars.

La largeur et la hauteur de la boîte sont déterminées à partir des erreurs x et y comme elles le sont pour le style xyerrorbars - soit de xbas à xhaut et de ybas à yhaut, soit de x-xdelta à x+xdelta et de y-ydelta à y+ydelta, selon le nombre de colonnes de données fournies.


candlesticks

Le style candlesticks n'est utile que pour les tracés 2D de données financières. Cinq colonnes de données sont requises : dans l'ordre il doit y avoir la coordonnée x (très probablement une date) et le prix d'ouverture, les prix bas et haut, et le prix de fermeture. Le symbole est un rectangle ouvert, centré horizontalement sur la coordonnée x et limité verticalement par les prix d'ouverture et de fermeture. Un segment vertical à la coordonnée x monte du haut du rectangle jusqu'au prix haut, et un autre descend jusqu'au prix bas. La largeur du rectangle peut être changée par set bar. Le symbole reste inchangé si les prix bas et haut sont interchangés ou si les prix d'ouverture et de fermeture sont interchangés. Voir set bar et financebars. Voir demos.


dots

Le style dots trace un point minuscule pour chaque point de donnée. C'est utile pour tracer des nuages de points contenant de nombreux points.


financebars

Le style financebars n'est utile que pour les tracés 2D de données financières. Cinq colonnes de données sont requises : dans l'ordre il doit y avoir la coordonnée x (très probablement une date) et le prix d'ouverture, les prix bas et haut, et le prix de fermeture. Le symbole est un segment vertical, situé horizontalement à la coordonnée x et limité verticalement par les prix haut et bas. Un trait de graduation horizontal sur la gauche marque le prix d'ouverture et un sur la droite marque le prix de fermeture. La longueur de ces traits peut être changée par set bar. Le symbole reste inchangé si les prix haut et bas sont interchangés. Voir set bar et candlesticks. Voir demos.


fsteps

Le style fsteps n'est utile que pour les tracés 2D. Il connecte les points consécutifs par deux segments : le premier de (x1,y1) à (x1,y2) et le second de (x1,y2) à (x2,y2). Il produit ainsi un graphe "en escalier haut". Voir demo.


histeps

Le style histeps n'est utile que pour les tracés 2D. Il est destiné au tracé d'histogrammes. Les valeurs y sont supposées être centrées sur les valeurs x. Le point en x1 est représenté par une ligne horizontale de ((x0+x1)/2,y1) à ((x1+x2)/2,y1). Les lignes représentant les points finaux sont étendues de façon à ce que le palier soit centré sur x. Les points adjacents sont reliés par une ligne verticale à leur valeur moyenne x, c'est-à-dire de ((x1+x2)/2,y1) à ((x1+x2)/2,y2).

Si autoscale est activé, il sélectionne l'intervalle en x à partir des données plutôt que des pas, ainsi la largeur des points finaux sera la moitié de celle des autres points. Voir demo.

histeps est seulement un style de tracé : gnuplot n'a pas la capacité de créer des classes et de déterminer leur effectif à partir d'un jeu de données.


impulses

Le style impulses affiche une ligne verticale à partir de l'axe x (pas le bord du graphe), ou à partir de la base de la grille pour splot, pour chaque point.


lines

Le style lines relie les points adjacents par des segments droits.


linespoints

Le style linespoints conjugue les styles lines et points, c'est-à-dire qu'il dessine un petit symbole à chaque point et ensuite connecte les points adjacents avec des segments droits. La commande set pointsize peut être utilisée pour changer la taille des points. Voir set pointsize pour son utilisation.

linespoints peut être abrégé en lp.


points

Le style points affiche un petit symbole en chaque point. La commande set pointsize peut être utilisée pour changer la taille des points. Voir set pointsize pour son utilisation.


steps

Le style steps n'est utile que pour les tracés 2D. Il connecte les points consécutifs par deux segments : le premier de (x1,y1) à (x2,y1) et le second de (x2,y1) à (x2,y2). Il produit ainsi un graphe "en escalier bas". Voir demo.


vector

Le style vector dessine un vecteur de (x,y) à (x+xdelta,y+ydelta). Ainsi il nécessite quatre colonnes de données. Il dessine aussi une petite pointe de flèche à l'extrémité du vecteur.

Le style vector est encore expérimental : il n'est pas tronqué (clipped) convenablement et d'autres choses sont peut être aussi défectueuses. Utilisez-le à vos risques et périls.


xerrorbars

Le style xerrorbars n'est utile que pour les tracés 2D. xerrorbars est comme dots, excepté qu'une barre d'erreur horizontale est aussi dessinée. En chaque point (x,y) une ligne est tracée de (xbas,y) à (xhaut,y) ou de (x-xdelta,y) à (x+xdelta,y), selon le nombre de colonnes de données fournies. Une marque de graduation est placée aux extrémités de la barre d'erreur (à moins que set bar soit utilisé - voir set bar pour des détails).


xyerrorbars

Le style xyerrorbars n'est utile que pour les tracés 2D. xyerrorbars est comme dots, excepté que des barres d'erreur horizontale et verticale sont aussi dessinées. En chaque point (x,y) des lignes sont tracées de (x,y-ydelta) à (x,y+ydelta) et de (x-xdelta,y) à (x+xdelta,y) ou de (x,ybas) à (x,yhaut) et de (xbas,y) à (xhaut,y), selon le nombre de colonnes de données fournies. Une marque de graduation est placée aux extrémités de la barre d'erreur (à moins que set bar soit utilisé - voir set bar pour des détails).

Si des données sont fournies sous une forme mixte non gérée, le filtre using de la commande plot doit être utilisé pour le transformer en la forme appropriée. Par exemple si les données sont de la forme (x,y,xdelta,ybas, yhaut), alors vous pouvez utiliser

      plot 'data' using 1:2:($1-$3),($1+$3),4,5 with xyerrorbars


yerrorbars

Le style yerrorbars (ou errorbars) n'est utile que pour les tracés 2D. yerrorbars est comme dots, excepté qu'une barre d'erreur verticale est aussi dessinée. En chaque point (x,y) une ligne est tracée de (x,y-ydelta) à (x,y+ydelta) ou de (x,ybas) à (x,yhaut), selon le nombre de colonnes de données fournies. Une marque de graduation est placée aux extrémités de la barre d'erreur (à moins que set bar soit utilisé - voir set bar pour les détails). Voir demo.


surface

La commande set surface contrôle l'affichage de surfaces par splot.

Syntaxe :

      set surface
      set nosurface
      show surface

La surface est dessinée avec le style spécifié par with, ou à défaut avec le style approprié : données ou fonction.

Si l'on tape set nosurface, splot ne tracera pas les points et les courbes correspondant aux fonctions et aux fichiers de données. Les contours peuvent encore être tracés sur la surface, selon l'option set contour. set nosurface; set contour base est utile pour afficher les contours sur la base seulement. Voir aussi set contour.

Types de terminaux


terminal

gnuplot supporte de nombreux périphériques graphiques différents. Utilisez set terminal pour indiquer à gnuplot quel type de sortie utiliser, et set output pour rediriger cette sortie vers un fichier ou un périphérique particulier.

Syntaxe :

      set terminal {<type-terminal>}
      show terminal

Si <type-terminal> est omis, gnuplot liste les types de terminaux disponibles. <type-terminal> peut être abrégé.

Si set terminal et set output sont utilisés conjointement, il vaut mieux régler en premier le terminal, car certains terminaux positionnent un flag qui est nécessaire sous certains OS.

Plusieurs terminaux ont des options supplémentaires. Par exemple, voir dumb, iris4d, hpljii ou postscript.

Ce document peut décrire des pilotes qui ne sont pas disponibles pour votre machine car ils ne sont pas installés, ou peut omettre certains pilotes disponibles, selon son format de sortie.

aed767
aifm
amiga
apollo
atari ST (via AES)
atari ST (via VDI)
be
cgi
cgm
corel
debug
svga
dumb
dxf
dxy800a
eepic
emxvga
epson-180dpi
excl
hercules
fig
gif
unixplot
gpic
gpr
grass
hp2648
hp2623a
hp500c
hpgl
hpljii
hppj
imagen
iris4d
kyo
latex
linux
macintosh
mf
mp
mgr
mif
mtos
next
next
pbm
dospc
pm
png
postscript
pslatex and pstex
pstricks
qms
regis
rgip
sun
tek410x
table
tek40
texdraw
tgif
tkcanvas
tpic
unixpc
unixplot
vx384
VWS
windows
x11
xlib


aed767

The aed512 and aed767 terminal drivers support AED graphics terminals. The two drivers differ only in their horizontal ranges, which are 512 and 768 pixels, respectively. Their vertical range is 575 pixels. There are no options for these drivers.


aifm

Several options may be set in aifm---the Adobe Illustrator 3.0+ driver.

Syntax:

      set terminal aifm {<color>} {"<fontname>"} {<fontsize>}

<color> is either color or monochrome; "<fontname>" is the name of a valid PostScript font; <fontsize> is the size of the font in PostScript points, before scaling by the set size command. Selecting default sets all options to their default values: monochrome, "Helvetica", and 14pt.

Since AI does not really support multiple pages, multiple graphs will be drawn directly on top of one another. However, each graph will be grouped individually, making it easy to separate them inside AI (just pick them up and move them).

Examples:

      set term aifm
      set term aifm 22
      set size 0.7,1.4; set term aifm color "Times-Roman" 14


amiga

The amiga terminal, for Commodore Amiga computers, allows the user to plot either to a screen (default), or, if Kickstart 3.0 or higher is installed, to a window on the current public screen. The font and its size can also be selected.

Syntax:

      set terminal amiga {screen | window} {"<fontname>"} {<fontsize>}

The default font is 8-point "topaz".

The screen option uses a virtual screen, so it is possible that the graph will be larger than the screen.


apollo

The apollo terminal driver supports the Apollo Graphics Primitive Resource with rescaling after window resizing. It has no options.

If a fixed-size window is desired, the gpr terminal may be used instead.


atari ST (via AES)

The atari terminal has options to set the character size and the screen colors.

Syntax:

      set terminal atari {<fontsize>} {<col0> <col1> ... <col15.}

The character size must appear if any colors are to be specified. Each of the (up to 16) colors is given as a three-digit hex number, where the digits represent RED, GREEN and BLUE (in that order). The range of 0--15 is scaled to whatever color range the screen actually has. On a normal ST screen, odd and even intensities are the same.

Examples:

      set terminal atari 4    # use small (6x6) font
      set terminal atari 6 0  # set monochrome screen to white on black
      set terminal atari 13 0 fff f00 f0 f ff f0f
                 # set first seven colors to black, white, green, blue,
                 # cyan, purple, and yellow and use large font (8x16).

Additionally, if an environment variable GNUCOLORS exists, its contents are interpreted as an options string, but an explicit terminal option takes precedence.


atari ST (via VDI)

The vdi terminal is the same as the atari terminal, except that it sends output to the screen via the VDI and not into AES-Windows.

The vdi terminal has options to set the character size and the screen colors.

Syntax:

      set terminal vdi {<fontsize>} {<col0> <col1> ... <col15.}

The character size must appear if any colors are to be specified. Each of the (up to 16) colors is given as a three-digit hex number, where the digits represent RED, GREEN and BLUE (in that order). The range of 0--15 is scaled to whatever color range the screen actually has. On a normal ST screen, odd and even intensities are the same.

Examples:

      set terminal vdi 4    # use small (6x6) font
      set terminal vdi 6 0  # set monochrome screen to white on black
      set terminal vdi 13 0 fff f00 f0 f ff f0f
                 # set first seven colors to black, white, green, blue,
                 # cyan, purple, and yellow and use large font (8x16).

Additionally, if an environment variable GNUCOLORS exists, its contents are interpreted as an options string, but an explicit terminal option takes precedence.


be

gnuplot provides the be terminal type for use with X servers. This terminal type is set automatically at startup if the DISPLAY environment variable is set, if the TERM environment variable is set to xterm, or if the -display command line option is used.

Syntax:

          set terminal be {reset} {<n>}

Multiple plot windows are supported: set terminal be <n> directs the output to plot window number n. If n>0, the terminal number will be appended to the window title and the icon will be labeled gplt <n>. The active window may distinguished by a change in cursor (from default to crosshair.)

Plot windows remain open even when the gnuplot driver is changed to a different device. A plot window can be closed by pressing the letter q while that window has input focus, or by choosing close from a window manager menu. All plot windows can be closed by specifying reset, which actually terminates the subprocess which maintains the windows (unless -persist was specified).

Plot windows will automatically be closed at the end of the session unless the -persist option was given.

The size or aspect ratio of a plot may be changed by resizing the gnuplot window.

Linewidths and pointsizes may be changed from within gnuplot with set linestyle.

For terminal type be, gnuplot accepts (when initialized) the standard X Toolkit options and resources such as geometry, font, and name from the command line arguments or a configuration file. See the X(1) man page (or its equivalent) for a description of such options.

A number of other gnuplot options are available for the be terminal. These may be specified either as command-line options when gnuplot is invoked or as resources in the configuration file "/.Xdefaults". They are set upon initialization and cannot be altered during a gnuplot session.

command-line_options
monochome_options
color_resources
grayscale_resources
line_resources


command-line_options

In addition to the X Toolkit options, the following options may be specified on the command line when starting gnuplot or as resources in your ".Xdefaults" file:

 -clear   requests that the window be cleared momentarily before a
                        new plot is displayed.
 -gray        requests grayscale rendering on grayscale or color displays.
                        (Grayscale displays receive monochrome rendering by default.)
 -mono        forces monochrome rendering on color displays.
 -persist plot windows survive after main gnuplot program exits
 -raise   raise plot window after each plot
 -noraise do not raise plot window after each plot
 -tvtwm   requests that geometry specifications for position of the
                        window be made relative to the currently displayed portion
                        of the virtual root.

The options are shown above in their command-line syntax. When entered as resources in ".Xdefaults", they require a different syntax.

Example:

          gnuplot*gray: on

gnuplot also provides a command line option (-pointsize <v>) and a resource, gnuplot*pointsize: <v>, to control the size of points plotted with the points plotting style. The value v is a real number (greater than 0 and less than or equal to ten) used as a scaling factor for point sizes. For example, -pointsize 2 uses points twice the default size, and -pointsize 0.5 uses points half the normal size.


monochome_options

For monochrome displays, gnuplot does not honor foreground or background colors. The default is black-on-white. -rv or gnuplot*reverseVideo: on requests white-on-black.


color_resources

For color displays, gnuplot honors the following resources (shown here with their default values) or the greyscale resources. The values may be color names as listed in the BE rgb.txt file on your system, hexadecimal RGB color specifications (see BE documentation), or a color name followed by a comma and an intensity value from 0 to 1. For example, blue, 0.5 means a half intensity blue.

 gnuplot*background:  white
 gnuplot*textColor:   black
 gnuplot*borderColor: black
 gnuplot*axisColor:   black
 gnuplot*line1Color:  red
 gnuplot*line2Color:  green
 gnuplot*line3Color:  blue
 gnuplot*line4Color:  magenta
 gnuplot*line5Color:  cyan
 gnuplot*line6Color:  sienna
 gnuplot*line7Color:  orange
 gnuplot*line8Color:  coral

The command-line syntax for these is, for example,

Example:

          gnuplot -background coral


grayscale_resources

When -gray is selected, gnuplot honors the following resources for grayscale or color displays (shown here with their default values). Note that the default background is black.

 gnuplot*background: black
 gnuplot*textGray:   white
 gnuplot*borderGray: gray50
 gnuplot*axisGray:   gray50
 gnuplot*line1Gray:  gray100
 gnuplot*line2Gray:  gray60
 gnuplot*line3Gray:  gray80
 gnuplot*line4Gray:  gray40
 gnuplot*line5Gray:  gray90
 gnuplot*line6Gray:  gray50
 gnuplot*line7Gray:  gray70
 gnuplot*line8Gray:  gray30


line_resources

gnuplot honors the following resources for setting the width (in pixels) of plot lines (shown here with their default values.) 0 or 1 means a minimal width line of 1 pixel width. A value of 2 or 3 may improve the appearance of some plots.

 gnuplot*borderWidth: 2
 gnuplot*axisWidth:   0
 gnuplot*line1Width:  0
 gnuplot*line2Width:  0
 gnuplot*line3Width:  0
 gnuplot*line4Width:  0
 gnuplot*line5Width:  0
 gnuplot*line6Width:  0
 gnuplot*line7Width:  0
 gnuplot*line8Width:  0

gnuplot honors the following resources for setting the dash style used for plotting lines. 0 means a solid line. A two-digit number jk (j and k are >= 1 and <= 9) means a dashed line with a repeated pattern of j pixels on followed by k pixels off. For example, '16' is a "dotted" line with one pixel on followed by six pixels off. More elaborate on/off patterns can be specified with a four-digit value. For example, '4441' is four on, four off, four on, one off. The default values shown below are for monochrome displays or monochrome rendering on color or grayscale displays. For color displays, the default for each is 0 (solid line) except for axisDashes which defaults to a '16' dotted line.

 gnuplot*borderDashes:   0
 gnuplot*axisDashes:        16
 gnuplot*line1Dashes:        0
 gnuplot*line2Dashes:   42
 gnuplot*line3Dashes:   13
 gnuplot*line4Dashes:   44
 gnuplot*line5Dashes:   15
 gnuplot*line6Dashes: 4441
 gnuplot*line7Dashes:   42
 gnuplot*line8Dashes:   13


cgi

The cgi and hcgi terminal drivers support SCO CGI drivers. hcgi is for printers; the environment variable CGIPRNT must be set. cgi may be used for either a display or hardcopy; if the environment variable CGIDISP is set, then that display is used. Otherwise CGIPRNT is used.

These terminals have no options.


cgm

The cgm terminal generates a Computer Graphics Metafile. This file format is a subset of the ANSI X3.122-1986 standard entitled "Computer Graphics - Metafile for the Storage and Transfer of Picture Description Information". Several options may be set in cgm.

Syntax:

      set terminal cgm {<mode>} {<color>} {<rotation>} {solid | dashed}
                       {width <plot_width>} {linewidth <line_width>}
                       {"<font>"} {<fontsize>}

where <mode> is landscape, portrait, or default; <color> is either color or monochrome; <rotation> is either rotate or norotate; solid draws all curves with solid lines, overriding any dashed patterns; <plot_width> is the width of the page in points; <line_width> is the line width in points; <font> is the name of a font; and <fontsize> is the size of the font in points.

By default, cgm uses rotated text for the Y axis label.

The first six options can be in any order. Selecting default sets all options to their default values.

Examples:

      set terminal cgm landscape color rotate dashed width 432 \
                     linewidth 1  'Arial Bold' 12       # defaults
      set terminal cgm 14 linewidth 2  14  # wider lines & larger font
      set terminal cgm portrait 'Times Roman Italic' 12
      set terminal cgm color solid    # no pesky dashes!

font
fontsize
linewidth
rotate
solid
size
width
winword6


font

The first part of a Computer Graphics Metafile, the metafile description, includes a font table. In the picture body, a font is designated by an index into this table. By default, this terminal generates a table with the following fonts:

      Arial
      Arial Italic
      Arial Bold
      Arial Bold Italic
      Times Roman
      Times Roman Italic
      Times Roman Bold
      Times Roman Bold Italic
      Helvetica
      Roman

Case is not distinct, but the modifiers must appear in the above order (that is, not 'Arial Italic Bold'). 'Arial Bold' is the default font.

You may also specify a font name which does not appear in the default font table. In that case, a new font table is constructed with the specified font as its only entry. You must ensure that the spelling, capitalization, and spacing of the name are appropriate for the application that will read the CGM file.


fontsize

Fonts are scaled assuming the page is 6 inches wide. If the size command is used to change the aspect ratio of the page or the CGM file is converted to a different width (e.g. it is imported into a document in which the margins are not 6 inches apart), the resulting font sizes will be different. To change the assumed width, use the width option.


linewidth

The linewidth option sets the width of lines in pt. The default width is 1 pt. Scaling is affected by the actual width of the page, as discussed under the fontsize and width options


rotate

The norotate option may be used to disable text rotation. For example, the CGM input filter for Word for Windows 6.0c can accept rotated text, but the DRAW editor within Word cannot. If you edit a graph (for example, to label a curve), all rotated text is restored to horizontal. The Y axis label will then extend beyond the clip boundary. With norotate, the Y axis label starts in a less attractive location, but the page can be edited without damage. The rotate option confirms the default behavior.


solid

The solid option may be used to disable dashed line styles in the plots. This is useful when color is enabled and the dashing of the lines detracts from the appearance of the plot. The dashed option confirms the default behavior, which gives a different dash pattern to each curve.


size

Default size of a CGM page is 32599 units wide and 23457 units high for landscape, or 23457 units wide by 32599 units high for portrait.


width

All distances in the CGM file are in abstract units. The application that reads the file determines the size of the final page. By default, the width of the final page is assumed to be 6 inches (15.24 cm). This distance is used to calculate the correct font size, and may be changed with the width option. The keyword should be followed by the width in points. (Here, a point is 1/72 inch, as in PostScript. This unit is known as a "big point" in TeX.) gnuplot arithmetic can be used to convert from other units, as follows:

      set terminal cgm width 432            # default
      set terminal cgm width 6*72           # same as above
      set terminal cgm width 10/2.54*72     # 10 cm wide


winword6

The default font table was chosen to match, where possible, the default font assignments made by the Computer Graphics Metafile input filter for Microsoft Word 6.0c, although the filter makes available only 'Arial' and 'Times Roman' fonts and their bold and/or italic variants. Other fonts such as 'Helvetica' and 'Roman' are not available. If the CGM file includes a font table, the filter mostly ignores it. However, it changes certain font assignments so that they disagree with the table. As a workaround, the winword6 option deletes the font table from the CGM file. In this case, the filter makes predictable font assignments. 'Arial Bold' is correctly assigned even with the font table present, which is one reason it was chosen as the default.

winword6 disables the color tables for a similar reason---with the color table included, Microsoft Word displays black for color 7.

Linewidths and pointsizes may be changed with set linestyle.


corel

The corel terminal driver supports CorelDraw.

Syntax:

      set terminal corel {  default
                          | {monochrome | color
                               {<fontname> {"<fontsize>" 
                                  {<xsize> <ysize> {<linewidth> }}}}}

where the fontsize and linewidth are specified in points and the sizes in inches. The defaults are monochrome, "SwitzerlandLight", 22, 8.2, 10 and 1.2.


debug

This terminal is provided to allow for the debugging of gnuplot. It is likely to be of use only for users who are modifying the source code.


svga

The svga terminal driver supports PCs with SVGA graphics. It can only be be used if it is compiled with DJGPP. Its only option is the font.

Syntax:

      set terminal svga {"<fontname>"}


dumb

The dumb terminal driver has an optional size specification and trailing linefeed control.

Syntax:

      set terminal dumb {[no]feed} {<xsize> <ysize>}

where <xsize> and <ysize> set the size of the dumb terminals. Default is 79 by 24. The last newline is printed only if feed is enabled.

Examples:

      set term dumb nofeed
      set term dumb 79 49 # VGA screen---why would anyone do that?


dxf

The dxf terminal driver creates pictures that can be imported into AutoCad (Release 10.x). It has no options of its own, but some features of its plots may be modified by other means. The default size is 120x80 AutoCad units, which can be changed by set size. dxf uses seven colors (white, red, yellow, green, cyan, blue and magenta), which can be changed only by modifying the source file. If a black-and-white plotting device is used, the colors are mapped to differing line thicknesses. See the description of the AutoCad print/plot command.


dxy800a

This terminal driver supports the Roland DXY800A plotter. It has no options.


eepic

The eepic terminal driver supports the extended LaTeX picture environment. It is an alternative to the latex driver.

The output of this terminal is intended for use with the "eepic.sty" macro package for LaTeX. To use it, you need "eepic.sty", "epic.sty" and a printer driver that supports the "tpic" \specials. If your printer driver doesn't support those \specials, "eepicemu.sty" will enable you to use some of them.

Although dotted and dashed lines are possible with eepic and are tempting, they do not work well for high-sample-rate curves, fusing the dashes all together into a solid line. For now, the eepic driver creates only solid lines. There is another gnuplot driver (tpic) that supports dashed lines, but it cannot be used if your DVI driver doesn't support "tpic" \specials.

All drivers for LaTeX offer a special way of controlling text positioning: If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically by LaTeX. --- If the text string begins with '[', you need to continue it with: a position specification (up to two out of t,b,l,r), ']{', the text itself, and finally, '}'. The text itself may be anything LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.

The eepic terminal has no options.

Examples: About label positioning: Use gnuplot defaults (mostly sensible, but sometimes not really best):

       set title '\LaTeX\ -- $ \gamma $'

Force centering both horizontally and vertically:

       set label '{\LaTeX\ -- $ \gamma $}' at 0,0

Specify own positioning (top here):

       set xlabel '[t]{\LaTeX\ -- $ \gamma $}'

The other label -- account for long ticlabels:

       set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'


emxvga

The emxvga, emxvesa and vgal terminal drivers support PCs with SVGA, vesa SVGA and VGA graphics boards, respectively. They are intended to be compiled with "emx-gcc" under either DOS or OS/2. They also need VESA and SVGAKIT maintained by Johannes Martin (JMARTIN@GOOFY.ZDV.UNI-MAINZ.DE) with additions by David J. Liu (liu@phri.nyu.edu).

Syntax:

      set terminal emxvga
      set terminal emxvesa {vesa-mode}
      set terminal vgal

The only option is the vesa mode for emxvesa, which defaults to G640x480x256.


epson-180dpi

This driver supports a family of Epson printers and derivatives.

epson-180dpi and epson-60dpi are drivers for Epson LQ-style 24-pin printers with resolutions of 180 and 60 dots per inch, respectively.

epson-lx800 is a generic 9-pin driver appropriate for printers like the Epson LX-800, the Star NL-10 and NX-1000, the PROPRINTER, and so forth.

nec-cp6 is generix 24-pin driver that can be used for printers like the NEC CP6 and the Epson LQ-800.

The okidata driver supports the 9-pin OKIDATA 320/321 Standard printers.

The starc driver is for the Star Color Printer.

The tandy-60dpi driver is for the Tandy DMP-130 series of 9-pin, 60-dpi printers.

Only nec-cp6 has any options.

Syntax:

      set terminal nec-cp6 {monochrome | colour | draft}

which defaults to monochrome.

With each of these drivers, a binary copy is required on a PC to print. Do not use print---use instead copy file /b lpt1:.


excl

The excl terminal driver supports Talaris printers such as the EXCL Laser printer and the 1590. It has no options.


hercules

These drivers supports PC monitors with autodetected graphics boards. They can be used only when compiled with Zortech C/C++. None have options.


fig

The fig terminal device generates output in the Fig graphics language.

Syntax:

      set terminal fig {monochrome | color} {small | big}
                       {pointsmax <max_points>}
                       {landscape | portrait}
                       {metric | inches}
                       {fontsize <fsize>}
                       {size <xsize> <ysize>}
                       {thickness <units>}
                       {depth <layer>}

monochrome and color determine whether the picture is black-and-white or color. small and big produce a 5x3 or 8x5 inch graph in the default landscape mode and 3x5 or 5x8 inches in portrait mode. <max_points> sets the maximum number of points per polyline. Default units for editing with "xfig" may be metric or inches. fontsize sets the size of the text font to <fsize> points. size sets (overrides) the size of the drawing area to <xsize>*<ysize> in units of inches or centimeters depending on the inches or metric setting in effect. depth sets the default depth layer for all lines and text. The default depth is 10 to leave room for adding material with "xfig" on top of the plot.

thickness sets the default line thickness, which is 1 if not specified. Overriding the thickness can be achieved by adding a multiple of 100 to the to the linetype value for a plot command. In a similar way the depth of plot elements (with respect to the default depth) can be controlled by adding a multiple of 1000 to <linetype>. The depth is then <layer> + <linetype>/1000 and the thickness is (<linetype>%1000)/100 or, if that is zero, the default line thickness.

Additional point-plot symbols are also available with the fig driver. The symbols can be used through pointtype values % 100 above 50, with different fill intensities controlled by <pointtype> % 5 and outlines in black (for <pointtype> % 10 < 5) or in the current color. Available symbols are

        50 - 59:  circles
        60 - 69:  squares
        70 - 79:  diamonds
        80 - 89:  upwards triangles
        90 - 99:  downwards triangles

The size of these symbols is linked to the font size. The depth of symbols is by default one less than the depth for lines to achieve nice error bars. If <pointtype> is above 1000, the depth is <layer> + <pointtype>/1000-1. If <pointtype>%1000 is above 100, the fill color is (<pointtype>%1000)/100-1.

Available fill colors are (from 1 to 9): black, blue, green, cyan, red, magenta, yellow, white and dark blue (in monochrome mode: black for 1 to 6 and white for 7 to 9).

See plot with for details of <linetype> and <pointtype>.

The big option is a substitute for the bfig terminal in earlier versions, which is no longer supported.

Examples:

      set terminal fig monochrome small pointsmax 1000  # defaults

      plot 'file.dat' with points linetype 102 pointtype 759

would produce circles with a blue outline of width 1 and yellow fill color.

      plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 554

would produce errorbars with black lines and circles filled red. These circles are one layer above the lines (at depth 9 by default).

To plot the error bars on top of the circles use

      plot 'file.dat' using 1:2:3 with err linetype 1 pointtype 2554


gif

The gif terminal driver generates output in GIF format. It uses Thomas Boutell's gd library, which is available from http://www.boutell.com/gd/

By default, the gif terminal driver uses a shared Web-friendy palette. Syntax:

      set terminal gif {transparent} {interlace}
                       {tiny | small | medium | large | giant}
                       {size <x>,<y>}
                       {<color0> <color1> <color2> ...}

transparent instructs the driver to generate transparent GIFs. The first color will be the transparent one.

interlace instructs the driver to generate interlaced GIFs.

The choice of fonts is tiny (5x8 pixels), small (6x12 pixels), medium (7x13 Bold), large (8x16) or giant (9x15 pixels)

The size <x,y> is given in pixels---it defaults to 640x480. The number of pixels can be also modified by scaling with the set size command.

Each color must be of the form 'xrrggbb', where x is the literal character 'x' and 'rrggbb' are the red, green and blue components in hex. For example, 'x00ff00' is green. The background color is set first, then the border colors, then the X & Y axis colors, then the plotting colors. The maximum number of colors that can be set is 256.

Examples:

      set terminal gif small size 640,480 \
                       xffffff x000000 x404040 \
                       xff0000 xffa500 x66cdaa xcdb5cd \
                       xadd8e6 x0000ff xdda0dd x9500d3    # defaults

which uses white for the non-transparent background, black for borders, gray for the axes, and red, orange, medium aquamarine, thistle 3, light blue, blue, plum and dark violet for eight plotting colors.

      set terminal gif transparent xffffff \
                       x000000 x202020 x404040 x606060 \
                       x808080 xA0A0A0 xC0C0C0 xE0E0E0 \

which uses white for the transparent background, black for borders, dark gray for axes, and a gray-scale for the six plotting colors.

The page size is 640x480 pixels. The gif driver can create either color or monochromatic output, but you have no control over which is produced.

The current version of the gif driver does not support animated GIFs.


unixplot

The unixplot driver produces device-independent output in the GNU plot graphics language. The default size of the PostScript results generated by "plot2ps" is 5 x 3 inches; this can be increased up to about 8.25 x 8.25 by set size.

Syntax:

      set terminal unixplot {"<fontname>"} {<fontsize>}

which defaults to 10-point "Courier".

There is a non-GNU version of the unixplot driver which cannot be compiled unless this version is left out.


gpic

The gpic terminal driver generates GPIC graphs in the Free Software Foundations's "groff" package. The default size is 5 x 3 inches. The only option is the origin, which defaults to (0,0).

Syntax:

      set terminal gpic {<x> <y>}

where x and y are in inches.

A simple graph can be formatted using

      groff -p -mpic -Tps file.pic > file.ps.

The output from pic can be pipe-lined into eqn, so it is possible to put complex functions in a graph with the set label and set {x/y}label commands. For instance,

      set ylab '@space 0 int from 0 to x alpha ( t ) roman d t@'

will label the y axis with a nice integral if formatted with the command:

      gpic filename.pic | geqn -d@@ -Tps | groff -m[macro-package] -Tps
          > filename.ps

Figures made this way can be scaled to fit into a document. The pic language is easy to understand, so the graphs can be edited by hand if need be. All co-ordinates in the pic-file produced by gnuplot are given as x+gnuplotx and y+gnuploty. By default x and y are given the value 0. If this line is removed with an editor in a number of files, one can put several graphs in one figure like this (default size is 5.0x3.0 inches):

      .PS 8.0
      x=0;y=3
      copy "figa.pic"
      x=5;y=3
      copy "figb.pic"
      x=0;y=0
      copy "figc.pic"
      x=5;y=0
      copy "figd.pic"
      .PE

This will produce an 8-inch-wide figure with four graphs in two rows on top of each other.

One can also achieve the same thing by the command

      set terminal gpic x y

for example, using

      .PS 6.0
      copy "trig.pic"
      .PE


gpr

The gpr terminal driver supports the Apollo Graphics Primitive Resource for a fixed-size window. It has no options.

If a variable window size is desired, use the apollo terminal instead.


grass

The grass terminal driver gives gnuplot capabilities to users of the GRASS geographic information system. Contact grassp-list@moon.cecer.army.mil for more information. Pages are written to the current frame of the GRASS Graphics Window. There are no options.


hp2648

The hp2648 terminal driver supports the Hewlett Packard HP2647 and HP2648. It has no options.


hp2623a

The hp2623a terminal driver supports the Hewlett Packard HP2623A. It has no options.


hp500c

The hp500c terminal driver supports the Hewlett Packard HP DeskJet 500c. It has options for resolution and compression.

Syntax:

      set terminal hp500c {<res>} {<comp>}

where res can be 75, 100, 150 or 300 dots per inch and comp can be "rle", or "tiff". Any other inputs are replaced by the defaults, which are 75 dpi and no compression. Rasterization at the higher resolutions may require a large amount of memory.


hpgl

The hpgl driver produces HPGL output for devices like the HP7475A plotter. There are two options which can be set---the number of pens and "eject", which tells the plotter to eject a page when done. The default is to use 6 pens and not to eject the page when done.

The international character sets ISO-8859-1 and CP850 are recognized via set encoding iso_8859_1 or set encoding cp850 (see set encoding for details).

Syntax:

      set terminal hpgl {<number_of_pens>} {eject}

The selection

      set terminal hpgl 8 eject

is equivalent to the previous hp7550 terminal, and the selection

      set terminal hpgl 4

is equivalent to the previous hp7580b terminal.

The pcl5 driver supports the Hewlett-Packard Laserjet III. It actually uses HPGL-2, but there is a name conflict among the terminal devices. It has several options

Syntax:

      set terminal pcl5 {<mode>} {<font>} {<fontsize>}

where <mode> is landscape, or portrait, <font> is stick, univers, or cg_times, and <fontsize> is the size in points.

With pcl5 international characters are handled by the printer; you just put the appropriate 8-bit character codes into the text strings. You don't need to bother with set encoding.

HPGL graphics can be imported by many software packages.


hpljii

The hpljii terminal driver supports the HP Laserjet Series II printer. The hpdj driver supports the HP DeskJet 500 printer. These drivers allow a choice of resolutions.

Syntax:

      set terminal hpljii | hpdj {<res>}

where res may be 75, 100, 150 or 300 dots per inch; the default is 75. Rasterization at the higher resolutions may require a large amount of memory.

The hp500c terminal is similar to hpdj; hp500c additionally supports color and compression.


hppj

The hppj terminal driver supports the HP PaintJet and HP3630 printers. The only option is the choice of font.

Syntax:

      set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}

with the middle-sized font (FNT9X17) being the default.


imagen

The imagen terminal driver supports Imagen laser printers. It is capable of placing multiple graphs on a single page.

Syntax:

      set terminal imagen {<fontsize>} {portrait | landscape}
                          {[<horiz>,<vert>]}

where fontsize defaults to 12 points and the layout defaults to landscape. <horiz> and <vert> are the number of graphs in the horizontal and vertical directions; these default to unity.

Example:

      set terminal imagen portrait [2,3]

puts six graphs on the page in three rows of two in portrait orientation.


iris4d

The iris4d terminal driver supports Silicon Graphics IRIS 4D computers. Its only option is 8- or 24-bit color depth. The default is 8.

Syntax:

      set terminal iris4d {8 | 24}

The color depth is not really a choice -- the value appropriate for the hardware should be selected.

When using 24-bit mode, the colors can be directly specified via the file .gnuplot_iris4d that is searched in the current directory and then in the home directory specified by the HOME environment variable. This file holds RGB values for the background, border, labels and nine plotting colors, in that order. For example, here is a file containing the default colors:

      85   85   85     Background   (dark gray)
      0    0    0      Boundary     (black)
      170  0    170    Labeling     (magenta)
      85   255  255    Plot Color 1 (light cyan)
      170  0    0      Plot Color 2 (red)
      0    170  0      Plot Color 3 (green)
      255  85   255    Plot Color 4 (light magenta)
      255  255  85     Plot Color 5 (yellow)
      255  85   85     Plot Color 6 (light red)
      85   255  85     Plot Color 7 (light green)
      0    170  170    Plot Color 8 (cyan)
      170  170  0      Plot Color 9 (brown)

This file must have exactly 12 lines of RGB triples. No empty lines are allowed, and anything after the third number on a line is ignored.


kyo

The kyo and prescribe terminal drivers support the Kyocera laser printer. The only difference between the two is that kyo uses "Helvetica" whereas prescribe uses "Courier". There are no options.


latex

The latex and emtex drivers allow two options.

Syntax:

      set terminal latex | emtex {courier | roman | default} {<fontsize>}

fontsize may be any size you specify. The default is for the plot to inherit its font setting from the embedding document.

Unless your driver is capable of building fonts at any size (e.g. dvips), stick to the standard 10, 11 and 12 point sizes.

METAFONT users beware: METAFONT does not like odd sizes.

All drivers for LaTeX offer a special way of controlling text positioning: If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically. If the text string begins with '[', you need to follow this with a position specification (up to two out of t,b,l,r), ']{', the text itself, and finally '}'. The text itself may be anything LaTeX can typeset as an LR-box. '\rule{}{}'s may help for best positioning.

Points, among other things, are drawn using the LaTeX commands "\Diamond" and "\Box". These commands no longer belong to the LaTeX2e core; they are included in the latexsym package, which is part of the base distribution and thus part of any LaTeX implementation. Please do not forget to use this package.

Points are drawn with the LaTex commands \Diamond and \Box. These commands do no longer belong to the LaTeX2e core, but are included in the latexsym-package in the base distribution, and are hence part of all LaTeX implementations. Please do not forget to use this package.

Examples: About label positioning: Use gnuplot defaults (mostly sensible, but sometimes not really best):

       set title '\LaTeX\ -- $ \gamma $'

Force centering both horizontally and vertically:

       set label '{\LaTeX\ -- $ \gamma $}' at 0,0

Specify own positioning (top here):

       set xlabel '[t]{\LaTeX\ -- $ \gamma $}'

The other label -- account for long ticlabels:

       set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'


linux

The linux driver has no additional options to specify. It looks at the environment variable GSVGAMODE for the default mode; if not set, it uses 1024x768x256 as default mode or, if that is not possible, 640x480x16 (standard VGA).


macintosh

Several options may be set in the 'macintosh' driver.

Syntax:

     set terminal macintosh {singlewin | multiwin} {vertical | novertical}
                            {size <width>, <height> | default}

'singlewin' limits the output to a single window and is useful for animations. 'multiwin' allows multiple windows. 'vertical' is only valid under the gx option. With this option, rotated text

    be drawn vertically. novertical turns this option off.
 size <width>, <height> overrides the graph size set in the preferences
    dialog until it is cleared with either 'set term mac size default'
    or 'set term mac default'.

 'set term mac size default' sets the window size settings to those set in
    the preferences dialog.

 'set term mac default' sets all options to their default values.
    Default values: nogx, multiwin, novertical.

 If you generate graphs under the multiwin option and then switch to singlewin,
 the next plot command will cause one more window to be created. This new
 window will be reused as long as singlewin is in effect. If you switch back
 to multiwin, generate some graphs, and then switch to singlewin again, the
 orginal 'singlewin' window will be resused if it is still open. Otherwise
 a new 'singlewin' window will be created. The 'singlewin' window is not numbered.


mf

The mf terminal driver creates a input file to the METAFONT program. Thus a figure may be used in the TeX document in the same way as is a character.

To use a picture in a document, the METAFONT program must be run with the output file from gnuplot as input. Thus, the user needs a basic knowledge of the font creating process and the procedure for including a new font in a document. However, if the METAFONT program is set up properly at the local site, an unexperienced user could perform the operation without much trouble.

The text support is based on a METAFONT character set. Currently the Computer Modern Roman font set is input, but the user is in principal free to chose whatever fonts he or she needs. The METAFONT source files for the chosen font must be available. Each character is stored in a separate picture variable in METAFONT. These variables may be manipulated (rotated, scaled etc.) when characters are needed. The drawback is the interpretation time in the METAFONT program. On some machines (i.e. PC) the limited amount of memory available may also cause problems if too many pictures are stored.

The mf terminal has no options.

METAFONT Instructions


METAFONT Instructions

- Set your terminal to METAFONT:

  set terminal mf

- Select an output-file, e.g.:

  set output "myfigures.mf"

- Create your pictures. Each picture will generate a separate character. Its default size will be 5*3 inches. You can change the size by saying set size 0.5,0.5 or whatever fraction of the default size you want to have.

- Quit gnuplot.

- Generate a TFM and GF file by running METAFONT on the output of gnuplot. Since the picture is quite large (5*3 in), you will have to use a version of METAFONT that has a value of at least 150000 for memmax. On Unix systems these are conventionally installed under the name bigmf. For the following assume that the command virmf stands for a big version of METAFONT. For example:

- Invoke METAFONT:

    virmf '&plain'

- Select the output device: At the METAFONT prompt ('*') type:

    \mode:=CanonCX;     % or whatever printer you use

- Optionally select a magnification:

    mag:=1;             % or whatever you wish

- Input the gnuplot-file:

    input myfigures.mf

On a typical Unix machine there will usually be a script called "mf" that executes virmf '&plain', so you probably can substitute mf for virmf &plain. This will generate two files: mfput.tfm and mfput.$$$gf (where $$$ indicates the resolution of your device). The above can be conveniently achieved by typing everything on the command line, e.g.: virmf '&plain' '\mode:=CanonCX; mag:=1; input myfigures.mf' In this case the output files will be named myfigures.tfm and myfigures.300gf.

- Generate a PK file from the GF file using gftopk:

  gftopk myfigures.300gf myfigures.300pk

The name of the output file for gftopk depends on the DVI driver you use. Ask your local TeX administrator about the naming conventions. Next, either install the TFM and PK files in the appropriate directories, or set your environment variables properly. Usually this involves setting TEXFONTS to include the current directory and doing the same thing for the environment variable that your DVI driver uses (no standard name here...). This step is necessary so that TeX will find the font metric file and your DVI driver will find the PK file.

- To include your pictures in your document you have to tell TeX the font:

  \font\gnufigs=myfigures

Each picture you made is stored in a single character. The first picture is character 0, the second is character 1, and so on... After doing the above step, you can use the pictures just like any other characters. Therefore, to place pictures 1 and 2 centered in your document, all you have to do is:

  \centerline{\gnufigs\char0}
  \centerline{\gnufigs\char1}

in plain TeX. For LaTeX you can, of course, use the picture environment and place the picture wherever you wish by using the \makebox and \put macros.

This conversion saves you a lot of time once you have generated the font; TeX handles the pictures as characters and uses minimal time to place them, and the documents you make change more often than the pictures do. It also saves a lot of TeX memory. One last advantage of using the METAFONT driver is that the DVI file really remains device independent, because no \special commands are used as in the eepic and tpic drivers.


mp

The mp driver produces output intended to be input to the Metapost program. Running Metapost on the file creates EPS files containing the plots. By default, Metapost passes all text through TeX. This has the advantage of allowing essentially any TeX symbols in titles and labels.

The mp terminal is selected with a command of the form

   set term mp {color} {solid} {notex} {mag <magsize>} {"<name>"} {<size>}

The option color causes lines to be drawn in color (on a printer or display that supports it), monochrome (or nothing) selects black lines. The option solid draws solid lines, while dashed (or nothing) selects lines with different patterns of dashes. If solid is selected but color is not, nearly all lines will be identical. This may occasionally be useful, so it is allowed.

The option notex bypasses TeX entirely, therefore no TeX code can be used in labels under this option. This is intended for use on old plot files or files that make frequent use of common characters like $ and % that require special handling in TeX.

Changing font sizes in TeX has no effect on the size of mathematics, and there is no foolproof way to make such a change, except by globally setting a magnification factor. This is the purpose of the magnification option. It must be followed by a scaling factor. All text (NOT the graphs) will be scaled by this factor. Use this if you have math that you want at some size other than the default 10pt. Unfortunately, all math will be the same size, but see the discussion below on editing the MP output. mag will also work under notex but there seems no point in using it as the font size option (below) works as well.

A name in quotes selects the font that will be used when no explicit font is given in a set label or set title. A name recognized by TeX (a TFM file exists) must be used. The default is "cmr10" unless notex is selected, then it is "pcrr8r" (Courier). Even under notex, a TFM file is needed by Metapost. The file pcrr8r.tfm is the name given to Courier in LaTeX's psnfss package. If you change the font from the notex default, choose a font that matches the ASCII encoding at least in the range 32-126. cmtt10 almost works, but it has a nonblank character in position 32 (space).

The size can be any number between 5.0 and 99.99. If it is omitted, 10.0 is used. It is advisable to use magstep sizes: 10 times an integer or half-integer power of 1.2, rounded to two decimals, because those are the most available sizes of fonts in TeX systems.

All the options are optional. If font information is given, it must be at the end, with size (if present) last. The size is needed to select a size for the font, even if the font name includes size information. For example, set term mp "cmtt12" selects cmtt12 shrunk to the default size 10. This is probably not what you want or you would have used cmtt10.

The following common ascii characters need special treatment in TeX:

   $, &, #, %, _;  |, <, >;  ^, ~,  \, {, and }

The five characters $, #, &, _, and % can simply be escaped, e.g., \$. The three characters <, >, and | can be wrapped in math mode, e.g., $<$. The remainder require some TeX work-arounds. Any good book on TeX will give some guidance.

If you type your labels inside double quotes, backslashes in TeX code need to be escaped (doubled). Using single quotes will avoid having to do this, but then you cannot use \n for line breaks. As of this writing, version 3.7 of gnuplot processess titles given in a plot command differently than in other places, and backslashes in TeX commands need to be doubled regardless of the style of quotes.

Metapost pictures are typically used in TeX documents. Metapost deals with fonts pretty much the same way TeX does, which is different from most other document preparation programs. If the picture is included in a LaTeX document using the graphics package, or in a plainTeX document via epsf.tex, and then converted to PostScript with dvips (or other dvi-to-ps converter), the text in the plot will usually be handled correctly. However, the text may not appear if you send the Metapost output as-is to a PostScript interpreter.

Metapost Instructions


Metapost Instructions

- Set your terminal to Metapost, e.g.:

   set terminal mp mono "cmtt12" 12

- Select an output-file, e.g.:

   set output "figure.mp"

- Create your pictures. Each plot (or multiplot group) will generate a separate Metapost beginfig...endfig group. Its default size will be 5 by 3 inches. You can change the size by saying set size 0.5,0.5 or whatever fraction of the default size you want to have.

- Quit gnuplot.

- Generate EPS files by running Metapost on the output of gnuplot:

   mpost figure.mp  OR  mp figure.mp

The name of the Metapost program depends on the system, typically mpost for a Unix machine and mp on many others. Metapost will generate one EPS file for each picture.

- To include your pictures in your document you can use the graphics package in LaTeX or epsf.tex in plainTeX:

   \usepackage{graphics} % LaTeX
   \input epsf.tex       % plainTeX

If you use a driver other than dvips for converting TeX DVI output to PS, you may need to add the following line in your LaTeX document:

   \DeclareGraphicsRule{*}{eps}{*}{}

Each picture you made is in a separate file. The first picture is in, e.g., figure.0, the second in figure.1, and so on.... To place the third picture in your document, for example, all you have to do is:

   \includegraphics{figure.2} % LaTeX
   \epsfbox{figure.2}         % plainTeX

The advantage, if any, of the mp terminal over a postscript terminal is editable output. Considerable effort went into making this output as clean as possible. For those knowledgeable in the Metapost language, the default line types and colors can be changed by editing the arrays lt[] and col[]. The choice of solid vs dashed lines, and color vs black lines can be change by changing the values assigned to the booleans dashedlines and colorlines. If the default tex option was in effect, global changes to the text of labels can be achieved by editing the vebatimtex...etex block. In particular, a LaTeX preamble can be added if desired, and then LaTeX's built-in size changing commands can be used for maximum flexibility. Be sure to set the appropriate MP configuration variable to force Metapost to run LaTeX instead of plainTeX.


mgr

The mgr terminal driver supports the Mgr Window system. It has no options.


mif

The mif terminal driver produces Frame Maker MIF format version 3.00. It plots in MIF Frames with the size 15*10 cm, and plot primitives with the same pen will be grouped in the same MIF group. Plot primitives in a gnuplot page will be plotted in a MIF Frame, and several MIF Frames are collected in one large MIF Frame. The MIF font used for text is "Times".

Several options may be set in the MIF 3.00 driver.

Syntax:

      set terminal mif {colour | monochrome} {polyline | vectors}
                       {help | ?}

colour plots lines with line types >= 0 in colour (MIF sep. 2--7) and monochrome plots all line types in black (MIF sep. 0). polyline plots curves as continuous curves and vectors plots curves as collections of vectors. help and ? print online help on standard error output---both print a short description of the usage; help also lists the options;

Examples:

      set term mif colour polylines    # defaults
      set term mif                     # defaults
      set term mif vectors
      set term mif help


mtos

The mtos terminal has no options. It sends data via a pipe to an external program called GPCLIENT. It runs under MULTITOS, Magic 3.x, MagicMAC. and MiNT. If you cannot find GPCLIENT, than mail to dirk@lstm.uni-erlangen.de.


next

Several options may be set in the next driver.

Syntax:

      set terminal next {<mode>} {<type> } {<color>} {<dashed>}
                 {"<fontname>"} {<fontsize>} title {"<newtitle>"}

where <mode> is default, which sets all options to their defaults; <type> is either new or old, where old invokes the old single window; <color> is either color or monochrome; <dashed> is either solid or dashed; "<fontname>" is the name of a valid PostScript font; <fontsize> is the size of the font in PostScript points; and <title> is the title for the GnuTerm window. Defaults are new, monochrome, dashed, "Helvetica", 14pt.

Examples:

      set term next default
      set term next 22
      set term next color "Times-Roman" 14
      set term next color "Helvetica" 12 title "MyPlot"
      set term next old

Pointsizes may be changed with set linestyle.


next

Several options may be set in the next driver.

Syntax:

      set terminal next {<mode>} {<type> } {<color>} {<dashed>}
                 {"<fontname>"} {<fontsize>} title {"<newtitle>"}

where <mode> is default, which sets all options to their defaults; <type> is either new or old, where old invokes the old single window; <color> is either color or monochrome; <dashed> is either solid or dashed; "<fontname>" is the name of a valid PostScript font; <fontsize> is the size of the font in PostScript points; and <title> is the title for the GnuTerm window. Defaults are new, monochrome, dashed, "Helvetica", 14pt.

Examples:

      set term next default
      set term next 22
      set term next color "Times-Roman" 14
      set term next color "Helvetica" 12 title "MyPlot"
      set term next old

Pointsizes may be changed with set linestyle.


pbm

Several options may be set in the pbm terminal---the driver for PBMplus.

Syntax:

      set terminal pbm {<fontsize>} {<mode>}

where <fontsize> is small, medium, or large and <mode> is monochrome, gray or color. The default plot size is 640 pixels wide and 480 pixels high; this may be changed by set size.

The output of the pbm driver depends upon <mode>: monochrome produces a portable bitmap (one bit per pixel), gray a portable graymap (three bits per pixel) and color a portable pixmap (color, four bits per pixel).

The output of this driver can be used with Jef Poskanzer's excellent PBMPLUS package, which provides programs to convert the above PBMPLUS formats to GIF, TIFF, MacPaint, Macintosh PICT, PCX, X11 bitmap and many others. PBMPLUS may be obtained from ftp.x.org. The relevant files have names that begin with "netpbm-1mar1994.p1"; they reside in /contrib/utilities. The package can probably also be obtained from one of the many sites that mirrors ftp.x.org.

Examples:

      set terminal pbm small monochrome             # defaults
      set size 2,2; set terminal pbm color medium


dospc

The dospc terminal driver supports PCs with arbitrary graphics boards, which will be automatically detected. It should be used only if you are not using the gcc or Zortec C/C++ compilers.


pm

The pm terminal driver provides an OS/2 Presentation Manager window in which the graph is plotted. The window is opened when the first graph is plotted. This window has its own online help as well as facilities for printing, copying to the clipboard and some line type and color adjustments. The multiplot option is supported.

Syntax:

      set terminal pm {server {n}} {persist} {widelines} {enhanced} {"title"}

If persist is specified, each graph appears in its own window and all windows remain open after gnuplot exits. If server is specified, all graphs appear in the same window, which remains open when gnuplot exits. This option takes an optional numerical argument which specifies an instance of the server process. Thus multiple server windows can be in use at the same time.

If widelines is specified, all plots will be drawn with wide lines. If enhanced is specified, sub- and superscripts and multiple fonts are enabled using the same syntax as the enhanced postscript option (see set terminal postscript enhanced for details). Font names for the basic PostScript fonts may be abbreviated to single letters.

If title is specified, it will be used as the title of the plot window. It will also be used as the name of the server instance, and will override the optional numerical argument.

Linewidths may be changed with set linestyle.


png

The png terminal driver supports Portable Network Graphics. To compile it, you will need the third-party libraries "libpng" and "zlib"; both are available at ftp://ftp.uu.net/graphics/png. png has two options.

Syntax:

      set terminal png {small | medium | large}
                       {monochrome | gray | color}

The defaults are small (fontsize) and monochrome. Default size of the output is 640*480 pixel.


postscript

Several options may be set in the postscript driver.

Syntax:

      set terminal postscript {<mode>} {enhanced | noenhanced}
                              {color | monochrome} {solid | dashed}
                              {<duplexing>}
                              {"<fontname>"} {<fontsize>}

where <mode> is landscape, portrait, eps or default; solid draws all plots with solid lines, overriding any dashed patterns; <duplexing> is defaultplex, simplex or duplex ("duplexing" in PostScript is the ability of the printer to print on both sides of the same page---don't set this if your printer can't do it); enhanced activates the "enhanced PostScript" features (subscripts, superscripts and mixed fonts); "<fontname>" is the name of a valid PostScript font; and <fontsize> is the size of the font in PostScript points.

default mode sets all options to their defaults: landscape, monochrome, dashed, defaultplex, noenhanced, "Helvetica" and 14pt.

 Default size of a PostScript plot is 10 inches wide and 7 inches high.

eps mode generates EPS (Encapsulated PostScript) output, which is just regular PostScript with some additional lines that allow the file to be imported into a variety of other applications. (The added lines are PostScript comment lines, so the file may still be printed by itself.) To get EPS output, use the eps mode and make only one plot per file. In eps mode the whole plot, including the fonts, is reduced to half of the default size.

Examples:

      set terminal postscript default       # old postscript
      set terminal postscript enhanced      # old enhpost
      set terminal postscript landscape 22  # old psbig
      set terminal postscript eps 14        # old epsf1
      set terminal postscript eps 22        # old epsf2
      set size 0.7,1.4; set term post portrait color "Times-Roman" 14

Linewidths and pointsizes may be changed with set linestyle.

The postscript driver supports about 70 distinct pointtypes, selectable through the pointtype option on plot and set linestyle.

Several possibly useful files about gnuplot's PostScript are included in the /docs/ps subdirectory of the gnuplot distribution and at the distribution sites. These are "ps_symbols.gpi" (a gnuplot command file that, when executed, creates the file "ps_symbols.ps" which shows all the symbols available through the postscript terminal), "ps_guide.ps" (a PostScript file that contains a summary of the enhanced syntax and a page showing what the octal codes produce with text and symbol fonts) and "ps_file.doc" (a text file that contains a discussion of the organization of a PostScript file written by gnuplot).

A PostScript file is editable, so once gnuplot has created one, you are free to modify it to your heart's desire. See the "editing postscript" section for some hints.

enhanced postscript
editing postscript


enhanced postscript

 Control      Examples        Explanation
  ^           a^x             superscript
  _           a_x             subscript
  @           @x or a@^b_c    phantom box (occupies no width)
  &           &{space}        inserts space of specified length

Braces can be used to place multiple-character text where a single character is expected (e.g., 2^{10}). To change the font and/or size, use the full form: {/[fontname][=fontsize | *fontscale] text}. Thus {/Symbol=20 G} is a 20-point GAMMA) and {/*0.75 K} is a K at three-quarters of whatever fontsize is currently in effect. (The '/' character MUST be the first character after the '{'.)

If the encoding vector has been changed by set encoding, the default encoding vector can be used instead by following the slash with a dash. This is unnecessary if you use the Symbol font, however---since /Symbol uses its own encoding vector, gnuplot will not apply any other encoding vector to it.

The phantom box is useful for a@^b_c to align superscripts and subscripts but does not work well for overwriting an accent on a letter. (To do the latter, it is much better to use set encoding iso_8859_1 to change to the ISO Latin-1 encoding vector, which contains a large variety of letters with accents or other diacritical marks.) Since the box is non-spacing, it is sensible to put the shorter of the subscript or superscript in the box (that is, after the @).

Space equal in length to a string can be inserted using the '&' character. Thus

        'abc&{def}ghi'

would produce

        'abc   ghi'.

You can access special symbols numerically by specifying \character-code (in octal), e.g., {/Symbol \245} is the symbol for infinity.

You can escape control characters using \, e.g., \\, \{, and so on.

But be aware that strings in double-quotes are parsed differently than those enclosed in single-quotes. The major difference is that backslashes may need to be doubled when in double-quoted strings.

Examples (these are hard to describe in words---try them!):

      set xlabel 'Time (10^6 {/Symbol m}s)'
      set title '{/Symbol=18 \362@_{/=9.6 0}^{/=12 x}} \
                 {/Helvetica e^{-{/Symbol m}^2/2} d}{/Symbol m}'

The file "ps_guide.ps" in the /docs/ps subdirectory of the gnuplot source distribution contains more examples of the enhanced syntax.


editing postscript

The PostScript language is a very complex language---far too complex to describe in any detail in this document. Nevertheless there are some things in a PostScript file written by gnuplot that can be changed without risk of introducing fatal errors into the file.

For example, the PostScript statement "/Color true def" (written into the file in response to the command set terminal postscript color), may be altered in an obvious way to generate a black-and-white version of a plot. Similarly line colors, text colors, line weights and symbol sizes can also be altered in straight-forward ways. Text (titles and labels) can be edited to correct misspellings or to change fonts. Anything can be repositioned, and of course anything can be added or deleted, but modifications such as these may require deeper knowledge of the PostScript language.

The organization of a PostScript file written by gnuplot is discussed in the text file "ps_file.doc" in the /docs/ps subdirectory.


pslatex and pstex

The pslatex and pstex drivers generate output for further processing by LaTeX and TeX, respectively. Figures generated by pstex can be included in any plain-based format (including LaTeX).

Syntax:

      set terminal pslatex | |pstex {<color>} {<dashed>} {<rotate>}
                                    {auxfile} {<font_size>}

<color> is either color or monochrome. <rotate> is either rotate or norotate and determines if the y-axis label is rotated. <font_size> is used to scale the font from its usual size.

If auxfile is specified, it directs the driver to put the PostScript commands into an auxiliary file instead of directly into the LaTeX file. This is useful if your pictures are large enough that dvips cannot handle them. The name of the auxiliary PostScript file is derived from the name of the TeX file given on the set output command; it is determined by replacing the trailing .tex (actually just the final extent in the file name) with .ps in the output file name, or, if the TeX file has no extension, .ps is appended. Remember to close the file before leaving gnuplot.

All drivers for LaTeX offer a special way of controlling text positioning: If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically by LaTeX. --- If the text string begins with '[', you need to continue it with: a position specification (up to two out of t,b,l,r), ']{', the text itself, and finally, '}'. The text itself may be anything LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.

Examples:

      set term pslatex monochrome dashed rotate       # set to defaults

To write the PostScript commands into the file "foo.ps":

      set term pslatex auxfile
      set output "foo.tex"; plot ...: set output

About label positioning: Use gnuplot defaults (mostly sensible, but sometimes not really best):

       set title '\LaTeX\ -- $ \gamma $'

Force centering both horizontally and vertically:

       set label '{\LaTeX\ -- $ \gamma $}' at 0,0

Specify own positioning (top here):

       set xlabel '[t]{\LaTeX\ -- $ \gamma $}'

The other label -- account for long ticlabels:

       set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'

Linewidths and pointsizes may be changed with set linestyle.


pstricks

The pstricks driver is intended for use with the "pstricks.sty" macro package for LaTeX. It is an alternative to the eepic and latex drivers. You need "pstricks.sty", and, of course, a printer that understands PostScript, or a converter such as Ghostscript.

PSTricks is available via anonymous ftp from the /pub directory at Princeton.EDU. This driver definitely does not come close to using the full capability of the PSTricks package.

Syntax:

      set terminal pstricks {hacktext | nohacktext} {unit | nounit}

The first option invokes an ugly hack that gives nicer numbers; the second has to do with plot scaling. The defaults are hacktext and nounit.


qms

The qms terminal driver supports the QMS/QUIC Laser printer, the Talaris 1200 and others. It has no options.


regis

The regis terminal device generates output in the REGIS graphics language. It has the option of using 4 (the default) or 16 colors.

Syntax:

      set terminal regis {4 | 16}


rgip

The rgip and uniplex terminal drivers support RGIP metafiles. They can combine several graphs on a single page, but only one page is allowed in a given output file.

Syntax:

      set terminal rgip | uniplex {portrait | landscape}
                                  {[<horiz>,<vert>]} {<fontsize>}

permissible values for the font size are in the range 1--8, with the default being 1. The default layout is landscape. Graphs are placed on the page in a horizxvert grid, which defaults to [1,1].

Example:

      set terminal uniplex portrait [2,3]

puts six graphs on a page in three rows of two in portrait orientation.


sun

The sun terminal driver supports the SunView window system. It has no options.


tek410x

The tek410x terminal driver supports the 410x and 420x family of Tektronix terminals. It has no options.


table

Instead of producing a graph, the table terminal prints out the points on which a graph would be based, i.e., the results of processing the plot or splot command, in a multicolumn ASCII table of X Y {Z} R values. The character R takes on one of three values: "i" if the point is in the active range, "o" if it is out-of-range, or "u" if it is undefined. The data format is determined by the format of the axis labels (see set format).

For those times when you want the numbers, you can display them on the screen or save them to a file. This can be useful if you want to generate contours and then save them for further use, perhaps for plotting with plot; see set contour for an example. The same method can be used to save interpolated data (see set samples and set dgrid3d).


tek40

This family of terminal drivers supports a variety of VT-like terminals. tek40xx supports Tektronix 4010 and others as well as most TEK emulators; vttek supports VT-like tek40xx terminal emulators; kc-tek40xx supports MS-DOS Kermit Tek4010 terminal emulators in color: km-tek40xx supports them in monochrome; selanar supports Selanar graphics; and bitgraph supports BBN Bitgraph terminals. None have any options.


texdraw

The texdraw terminal driver supports the LaTeX texdraw environment. It is intended for use with "texdraw.sty" and "texdraw.tex" in the texdraw package.

It has no options.


tgif

Tgif is an X11-based drawing tool---it has nothing to do with GIF.

The tgif driver supports different pointsizes (with set pointsize), different label fonts and font sizes (e.g. set label "Hallo" at x,y font "Helvetica,34") and multiple graphs on the page. The proportions of the axes are not changed.

Syntax:

      set terminal tgif {portrait | landscape} {<[x,y]>}
                        {solid | dashed}
                        {"<fontname>"} {<fontsize>}

where <[x,y]> specifies the number of graphs in the x and y directions on the page, "<fontname>" is the name of a valid PostScript font, and <fontsize> specifies the size of the PostScript font. Defaults are portrait, [1,1], dashed, "Helvetica", and 18.

The solid option is usually prefered if lines are colored, as they often are in the editor. Hardcopy will be black-and-white, so dashed should be chosen for that.

Multiplot is implemented in two different ways.

The first multiplot implementation is the standard gnuplot multiplot feature:

      set terminal tgif
      set output "file.obj"
      set multiplot
      set origin x01,y01
      set size  xs,ys
      plot ...
           ...
      set origin x02,y02
      plot ...
      set nomultiplot

See set multiplot for further information.

The second version is the [x,y] option for the driver itself. The advantage of this implementation is that everything is scaled and placed automatically without the need for setting origins and sizes; the graphs keep their natural x/y proportions of 3/2 (or whatever is fixed by set size).

If both multiplot methods are selected, the standard method is chosen and a warning message is given.

Examples of single plots (or standard multiplot):

      set terminal tgif                  # defaults
      set terminal tgif "Times-Roman" 24
      set terminal tgif landscape
      set terminal tgif landscape solid

Examples using the built-in multiplot mechanism:

      set terminal tgif portrait [2,4]  # portrait; 2 plots in the x-
                                        # and 4 in the y-direction
      set terminal tgif [1,2]           # portrait; 1 plot in the x-
                                        # and 2 in the y-direction
      set terminal tgif landscape [3,3] # landscape; 3 plots in both
                                        # directions


tkcanvas

This terminal driver generates Tk canvas widget commands based on Tcl/Tk (default) or Perl. To use it, rebuild gnuplot (after uncommenting or inserting the appropriate line in "term.h"), then

 gnuplot> set term tkcanvas {perltk} {interactive}
 gnuplot> set output 'plot.file'

After invoking "wish", execute the following sequence of Tcl/Tk commands:

 % source plot.file
 % canvas .c
 % pack .c
 % gnuplot .c

Or, for Perl/Tk use a program like this:

 use Tk;
 my $top = MainWindow->new;
 my $c = $top->Canvas;
 $c->pack();
 do "plot.pl";
 gnuplot->($c);
 MainLoop;

The code generated by gnuplot creates a procedure called "gnuplot" that takes the name of a canvas as its argument. When the procedure is called, it clears the canvas, finds the size of the canvas and draws the plot in it, scaled to fit.

For 2-dimensional plotting (plot) two additional procedures are defined: "gnuplot_plotarea" will return a list containing the borders of the plotting area "xleft, xright, ytop, ybot" in canvas screen coordinates, while the ranges of the two axes "x1min, x1max, y1min, y1max, x2min, x2max, y2min, y2max" in plot coordinates can be obtained calling "gnuplot_axisranges". If the "interactive" option is specified, mouse clicking on a line segment will print the coordinates of its midpoint to stdout. Advanced actions can happen instead if the user supplies a procedure named "user_gnuplot_coordinates", which takes the following arguments: "win id x1s y1s x2s y2s x1e y1e x2e y2e x1m y1m x2m y2m", the name of the canvas and the id of the line segment followed by the coordinates of its start and end point in the two possible axis ranges; the coordinates of the midpoint are only filled for logarithmic axes.

The current version of tkcanvas supports neither multiplot nor replot.


tpic

The tpic terminal driver supports the LaTeX picture environment with tpic \specials. It is an alternative to the latex and eepic terminal drivers. Options are the point size, line width, and dot-dash interval.

Syntax:

      set terminal tpic <pointsize> <linewidth> <interval>

where pointsize and linewidth are integers in milli-inches and interval is a float in inches. If a non-positive value is specified, the default is chosen: pointsize = 40, linewidth = 6, interval = 0.1.

All drivers for LaTeX offer a special way of controlling text positioning: If any text string begins with '{', you also need to include a '}' at the end of the text, and the whole text will be centered both horizontally and vertically by LaTeX. --- If the text string begins with '[', you need to continue it with: a position specification (up to two out of t,b,l,r), ']{', the text itself, and finally, '}'. The text itself may be anything LaTeX can typeset as an LR-box. \rule{}{}'s may help for best positioning.

Examples: About label positioning: Use gnuplot defaults (mostly sensible, but sometimes not really best):

       set title '\LaTeX\ -- $ \gamma $'

Force centering both horizontally and vertically:

       set label '{\LaTeX\ -- $ \gamma $}' at 0,0

Specify own positioning (top here):

       set xlabel '[t]{\LaTeX\ -- $ \gamma $}'

The other label -- account for long ticlabels:

       set ylabel '[r]{\LaTeX\ -- $ \gamma $\rule{7mm}{0pt}'


unixpc

The unixpc terminal driver supports AT&T 3b1 and AT&T 7300 Unix PC. It has no options.


unixplot

The unixplot terminal driver generates output in the Unix "plot" graphics language. It has no options.

This terminal cannot be compiled if the GNU version of plot is to be used; in that case, use the gnugraph terminal instead.


vx384

The vx384 terminal driver supports the Vectrix 384 and Tandy color printers. It has no options.


VWS

The VWS terminal driver supports the VAX Windowing System. It has no options. It will sense the display type (monochrome, gray scale, or color.) All line styles are plotted as solid lines.


windows

Three options may be set in the windows terminal driver.

Syntax:

      set terminal windows {<color>} {"<fontname>"} {<fontsize>}

where <color> is either color or monochrome, "<fontname>" is the name of a valid Windows font, and <fontsize> is the size of the font in points.

Other options may be set with the graph-menu, the initialization file, and set linestyle.

The Windows version normally terminates immediately as soon as the end of any files given as command line arguments is reached (i.e. in non-interactive mode). It will also not show the text-window at all, in this mode, only the plot. By giving the optional argument /noend or -noend, you can disable this behaviour.

graph-menu
printing
text-menu
wgnuplot.ini
windows3.0


graph-menu

The gnuplot graph window has the following options on a pop-up menu accessed by pressing the right mouse button or selecting Options from the system menu:

Bring to Top when checked brings the graph window to the top after every plot.

Color when checked enables color linestyles. When unchecked it forces monochrome linestyles.

Copy to Clipboard copies a bitmap and a Metafile picture.

Background... sets the window background color.

Choose Font... selects the font used in the graphics window.

Line Styles... allows customization of the line colors and styles.

Print... prints the graphics windows using a Windows printer driver and allows selection of the printer and scaling of the output. The output produced by Print is not as good as that from gnuplot's own printer drivers.

Update wgnuplot.ini saves the current window locations, window sizes, text window font, text window font size, graph window font, graph window font size, background color and linestyles to the initialization file WGNUPLOT.INI.


printing

In order of preference, graphs may be be printed in the following ways.

1. Use the gnuplot command set terminal to select a printer and set output to redirect output to a file.

2. Select the Print... command from the gnuplot graph window. An extra command screendump does this from the text window.

3. If set output "PRN" is used, output will go to a temporary file. When you exit from gnuplot or when you change the output with another set output command, a dialog box will appear for you to select a printer port. If you choose OK, the output will be printed on the selected port, passing unmodified through the print manager. It is possible to accidentally (or deliberately) send printer output meant for one printer to an incompatible printer.


text-menu

The gnuplot text window has the following options on a pop-up menu accessed by pressing the right mouse button or selecting Options from the system menu:

Copy to Clipboard copies marked text to the clipboard.

Paste copies text from the clipboard as if typed by the user.

Choose Font... selects the font used in the text window.

System Colors when selected makes the text window honor the System Colors set using the Control Panel. When unselected, text is black or blue on a white background.

Update wgnuplot.ini saves the current text window location, text window size, text window font and text window font size to the initialisation file WGNUPLOT.INI.

MENU BAR

If the menu file WGNUPLOT.MNU is found in the same directory as WGNUPLOT.EXE, then the menu specified in WGNUPLOT.MNU will be loaded. Menu commands:

[Menu] starts a new menu with the name on the following line.

[EndMenu] ends the current menu.

[--] inserts a horizontal menu separator.

[|] inserts a vertical menu separator.

[Button] puts the next macro on a push button instead of a menu.

Macros take two lines with the macro name (menu entry) on the first line and the macro on the second line. Leading spaces are ignored. Macro commands:

[INPUT] --- Input string with prompt terminated by [EOS] or {ENTER}

[EOS] --- End Of String terminator. Generates no output.

[OPEN] --- Get name of file to open from list box, with title of list box terminated by [EOS], followed by default filename terminated by [EOS] or {ENTER}. This uses COMMDLG.DLL from Windows 3.1.

[SAVE] --- Get name of file to save. Similar to [OPEN]

Macro character substitutions:

{ENTER} --- Carriage Return '\r'

{TAB} --- Tab '\011'

{ESC} --- Escape '\033'

{^A} --- '\001'

...

{^_} --- '\031'

Macros are limited to 256 characters after expansion.


wgnuplot.ini

Windows gnuplot will read some of its options from the [WGNUPLOT] section of WGNUPLOT.INI in the Windows directory. A sample WGNUPLOT.INI file:

      [WGNUPLOT]
      TextOrigin=0 0
      TextSize=640 150
      TextFont=Terminal,9
      GraphOrigin=0 150
      GraphSize=640 330
      GraphFont=Arial,10
      GraphColor=1
      GraphToTop=1
      GraphBackground=255 255 255
      Border=0 0 0 0 0
      Axis=192 192 192 2 2
      Line1=0 0 255 0 0
      Line2=0 255 0 0 1
      Line3=255 0 0 0 2
      Line4=255 0 255 0 3
      Line5=0 0 128 0 4

The GraphFont entry specifies the font name and size in points. The five numbers given in the Border, Axis and Line entries are the Red intensity (0--255), Green intensity, Blue intensity, Color Linestyle and Mono Linestyle. Linestyles are 0=SOLID, 1=DASH, 2=DOT, 3=DASHDOT, 4=DASHDOTDOT. In the sample WGNUPLOT.INI file above, Line 2 is a green solid line in color mode, or a dashed line in monochrome mode. The default line width is 1 pixel. If Linestyle is negative, it specifies the width of a SOLID line in pixels. Line1 and any linestyle used with the points style must be SOLID with unit width.


windows3.0

Windows 3.1 is preferred, but WGNUPLOT will run under Windows 3.0 with the following restrictions: 1. COMMDLG.DLL and SHELL.DLL (available with Windows 3.1 or Borland C++ 3.1) must be in the windows directory.

2. WGNUPLOT.HLP produced by Borland C++ 3.1 is in Windows 3.1 format. You need to use the WINHELP.EXE supplied with Borland C++ 3.1.

3. It will not run in real mode due to lack of memory.

4. TrueType fonts are not available in the graph window.

5. Drag-drop does not work.


x11

gnuplot provides the x11 terminal type for use with X servers. This terminal type is set automatically at startup if the DISPLAY environment variable is set, if the TERM environment variable is set to xterm, or if the -display command line option is used.

Syntax:

      set terminal x11 {reset} {<n>}

Multiple plot windows are supported: set terminal x11 <n> directs the output to plot window number n. If n>0, the terminal number will be appended to the window title and the icon will be labeled gplt <n>. The active window may distinguished by a change in cursor (from default to crosshair.)

Plot windows remain open even when the gnuplot driver is changed to a different device. A plot window can be closed by pressing the letter q while that window has input focus, or by choosing close from a window manager menu. All plot windows can be closed by specifying reset, which actually terminates the subprocess which maintains the windows (unless -persist was specified).

Plot windows will automatically be closed at the end of the session unless the -persist option was given.

The size or aspect ratio of a plot may be changed by resizing the gnuplot window.

Linewidths and pointsizes may be changed from within gnuplot with set linestyle.

For terminal type x11, gnuplot accepts (when initialized) the standard X Toolkit options and resources such as geometry, font, and name from the command line arguments or a configuration file. See the X(1) man page (or its equivalent) for a description of such options.

A number of other gnuplot options are available for the x11 terminal. These may be specified either as command-line options when gnuplot is invoked or as resources in the configuration file "/.Xdefaults". They are set upon initialization and cannot be altered during a gnuplot session.

command-line_options
monochome_options
color_resources
grayscale_resources
line_resources


command-line_options

In addition to the X Toolkit options, the following options may be specified on the command line when starting gnuplot or as resources in your ".Xdefaults" file:

 -clear   requests that the window be cleared momentarily before a
            new plot is displayed.
 -gray    requests grayscale rendering on grayscale or color displays.
            (Grayscale displays receive monochrome rendering by default.)
 -mono    forces monochrome rendering on color displays.
 -persist plot windows survive after main gnuplot program exits
 -raise   raise plot window after each plot
 -noraise do not raise plot window after each plot
 -tvtwm   requests that geometry specifications for position of the
            window be made relative to the currently displayed portion
            of the virtual root.

The options are shown above in their command-line syntax. When entered as resources in ".Xdefaults", they require a different syntax.

Example:

      gnuplot*gray: on

gnuplot also provides a command line option (-pointsize <v>) and a resource, gnuplot*pointsize: <v>, to control the size of points plotted with the points plotting style. The value v is a real number (greater than 0 and less than or equal to ten) used as a scaling factor for point sizes. For example, -pointsize 2 uses points twice the default size, and -pointsize 0.5 uses points half the normal size.


monochome_options

For monochrome displays, gnuplot does not honor foreground or background colors. The default is black-on-white. -rv or gnuplot*reverseVideo: on requests white-on-black.


color_resources

For color displays, gnuplot honors the following resources (shown here with their default values) or the greyscale resources. The values may be color names as listed in the X11 rgb.txt file on your system, hexadecimal RGB color specifications (see X11 documentation), or a color name followed by a comma and an intensity value from 0 to 1. For example, blue, 0.5 means a half intensity blue.

 gnuplot*background:  white
 gnuplot*textColor:   black
 gnuplot*borderColor: black
 gnuplot*axisColor:   black
 gnuplot*line1Color:  red
 gnuplot*line2Color:  green
 gnuplot*line3Color:  blue
 gnuplot*line4Color:  magenta
 gnuplot*line5Color:  cyan
 gnuplot*line6Color:  sienna
 gnuplot*line7Color:  orange
 gnuplot*line8Color:  coral

The command-line syntax for these is, for example,

Example:

      gnuplot -background coral


grayscale_resources

When -gray is selected, gnuplot honors the following resources for grayscale or color displays (shown here with their default values). Note that the default background is black.

 gnuplot*background: black
 gnuplot*textGray:   white
 gnuplot*borderGray: gray50
 gnuplot*axisGray:   gray50
 gnuplot*line1Gray:  gray100
 gnuplot*line2Gray:  gray60
 gnuplot*line3Gray:  gray80
 gnuplot*line4Gray:  gray40
 gnuplot*line5Gray:  gray90
 gnuplot*line6Gray:  gray50
 gnuplot*line7Gray:  gray70
 gnuplot*line8Gray:  gray30


line_resources

gnuplot honors the following resources for setting the width (in pixels) of plot lines (shown here with their default values.) 0 or 1 means a minimal width line of 1 pixel width. A value of 2 or 3 may improve the appearance of some plots.

 gnuplot*borderWidth: 2
 gnuplot*axisWidth:   0
 gnuplot*line1Width:  0
 gnuplot*line2Width:  0
 gnuplot*line3Width:  0
 gnuplot*line4Width:  0
 gnuplot*line5Width:  0
 gnuplot*line6Width:  0
 gnuplot*line7Width:  0
 gnuplot*line8Width:  0

gnuplot honors the following resources for setting the dash style used for plotting lines. 0 means a solid line. A two-digit number jk (j and k are >= 1 and <= 9) means a dashed line with a repeated pattern of j pixels on followed by k pixels off. For example, '16' is a "dotted" line with one pixel on followed by six pixels off. More elaborate on/off patterns can be specified with a four-digit value. For example, '4441' is four on, four off, four on, one off. The default values shown below are for monochrome displays or monochrome rendering on color or grayscale displays. For color displays, the default for each is 0 (solid line) except for axisDashes which defaults to a '16' dotted line.

 gnuplot*borderDashes:   0
 gnuplot*axisDashes:    16
 gnuplot*line1Dashes:    0
 gnuplot*line2Dashes:   42
 gnuplot*line3Dashes:   13
 gnuplot*line4Dashes:   44
 gnuplot*line5Dashes:   15
 gnuplot*line6Dashes: 4441
 gnuplot*line7Dashes:   42
 gnuplot*line8Dashes:   13


xlib

The xlib terminal driver supports the X11 Windows System. It generates gnulib_x11 commands. set term x11 behaves similarly to set terminal xlib; set output "|gnuplot_x11". xlib has no options, but see x11.


tics

La commande set tics peut être utilisé pour changer la direction de tracé des graduations (vers l'intérieur ou vers l'extérieur).

Syntaxe :

      set tics {<direction>}
      show tics

où <direction> peut être in (intérieur, par défaut) ou out (extérieur).

Voir aussi set xtics pour un contrôle plus fin des graduations majeures (étiquetées), et set mxtics pour les graduations mineures.


ticslevel

Avec splot, on peut ajuster la hauteur relative de l'axe vertical (z) en utilisant set ticslevel. L'argument numérique fournit spécifie la position de la graduation basse de l'intervalle vertical, au-dessus du plan x,y. La valeur par défaut est 0.5. Les valeurs négatives sont permises, mais alors les graduations des trois axes risquent de se chevaucher.

Pour placer le plan x,y en position 'pos' sur l'axe z, ticslevel doit être réglé à (pos - zmin) / (zmin - zmax).

Syntaxe :

      set ticslevel {<level>}
      show tics

Voir aussi set view.


ticscale

La taille des graduations peut être réglée avec set ticscale.

Syntaxe :

      set ticscale {<majeure> {<mineure>}}
      show tics

Si <mineure> n'est pas spécifiée, elle est prise égale à <majeure>/2. La taille par défaut est de 1.0 pour les graduations majeures, de 0.5 pour les mineures. Il est également possible de faire pointer les graduations vers l'extérieur en spécifiant une taille négative.


timestamp (horodatage)

La commande set timestamp place la date et l'heure du tracé dans la marge gauche.

Syntaxe :

      set timestamp {"<format>"} {top|bottom} {{no}rotate}
                    {<xdec>}{,<ydec>} {"<fonte>"}
      set notimestamp
      show timestamp

La chaîne <format> vous permet de définir le format à utiliser pour afficher la date et l'heure. Sa valeur par défaut est celle de asctime() : "%a %b %d %H:%M:%S %Y" (jour de la semaine, mois, quantième, heures, minutes, secondes, année sur quatre chiffres). Avec top (haut) et bottom (bas), vous pouvez placer l'horodatage en haut ou en bas de la marge gauche (par défaut, en bas). rotate permet d'afficher le texte verticalement, si votre terminal le supporte. Les constantes <xdec> et <ydec> sont des décalages par rapport à la position par défaut, en coordonnées caractères écran. The format string allows you to choose the format used to write the date and time. Its default value is what asctime() uses: "%a %b %d %H:%M:%S %Y" (weekday, month name, day of the month, hours, minutes, seconds, four-digit year). With top or bottom you can place the timestamp at the top or bottom of the left margin (default: bottom). rotate lets you write the timestamp vertically, if your terminal supports vertical text. The constants <xoff> and <off> are offsets from the default position given in character screen coordinates. <fonte> permet de spécifier la fonte à utiliser pour l'horodatage.

L'abréviation time peut être utilisé à la place de timestamp.

Exemple :

      set timestamp "%d/%m/%y %H:%M" 80,-2 "Helvetica"

Référez vous à set timefmt pour plus de précisions sur les formats de temps.


timefmt

Cette commande s'applique aux données temporelles, où le paramètre est une date ou un temps. Il n'a de signification que si la commande set xdata time est entrée également.

Syntaxe :

      set timefmt "<chaîne_format>"
      show timefmt

L'argument <chaîne_format> indique à gnuplot comment lire les données temporelles dans le fichier de données. Les formats valides sont :

      Format       Explication
      %d           quantième du mois, 1--31
      %m           mois dans l'année, 1--12
      %y           année, 0--99
      %Y           année, sur 4 chiffres
      %j           jour dans l'année, 1--366
      %H           heures, 0--24
      %M           minutes, 0--60
      %S           secondes, 0--60
      %b           abréviation du nom du mois sur 3 caractères
      %B           nom du mois

Tout caractère est autorisée dans la chaîne, pourvu qu'il corresponde exactement aux données. \t (tab) est reconnu ; la notation octale (\nnn) est convertie en caractère. S'il n'y a pas de séparation entre les éléments de date/heure, %d, %m, %y, %H, %M et %S lisent chacun 2 caractères, %Y en lit 4, et %j, 3. %b lit 3 caractères, et %B en lit autant que nécessaire.

Les espaces sont traités différemment : un espace dans la chaîne représente zéro ou plus caractères blancs dans le fichier. Ainsi, "%H %M" permet de lire "1220" ou "12 20" aussi bien que "12 20".

Chaque bloc de caractères non-blancs dans les données compte comme une colonne dans l'argument using n:n. Ainsi "11:11 25/12/76 21.0" compte trois colonnes. Pour éviter toute ambiguité, gnuplot exige une spécification using complète si votre fichier contient des données temporelles.

Comme gnuplot ne peut pas lire de texte non-numérique, si le format de date inclut le jour ou le mois en lettres, la chaîne de format doit exclure ce texte. Mais il peut tout de même être imprimé avec les spécificateurs "%a", "%A", "%b" ou "%B" : voir set format pour les détails sur ces options, et d'autres, pour imprimer les données temporelles. gnuplot détermine les mois et jour de la semaine corrects à partir des valeurs numériques.

Voir aussi set xdata et Time/date pour plus d'information.

Exemple :

      set timefmt "%d/%m/%Y\t%H:%M"

dit à gnuplot de lire la date et l'heure séparées par un tab. (Mais attention à vos données : ce qui ressemble à un tab peut avoir été converti en suite d'espaces par un prétraitement ; la chaîne de format doit correspondre exactement aux données du fichier). Démo de données temporelles


title (titre)

La commande set title affiche un titre au tracé, centré au-dessus du tracé. set title est un cas particulier de set label.

Syntaxe :

      set title {"<texte-titre>"} {<xdec>}{,<ydec>} {"<fonte>,{<taille>}"}
      show title

Les constantes optionnelles <xdec> et <ydec> permettent de décaler le titre, en coordonnées caractères écran (pas en coordonnées du graphe). Par exemple, set title ,-1 change seulement le décalage en ordonnée du titre, le déplaçant d'environ un caractère vers le bas, sous l'effet de la gravité.

<fonte> permet de préciser la fonte du titre ; les unités de la <taille> de la fonte dépendent du terminal utilisé.

set title sans paramètre efface le titre.

Voir syntaxe pour les détails sur le traitement des suites de backslash et la distinction entre simples et doubles apostrophes.


tmargin

La commande set tmargin fixe la taille de la marge haute. Veuillez vous référer à set margin pour les détails.


trange

La commande set trange fixe l'intervalle du paramètre (t) utilisé en modes paramétrique et polaire. Veuillez vous référer à set xrange pour les détails.


urange

Les commandes set urange et set vrange fixent les intervalles des paramètres (u et v) utilisés par splot en mode paramétrique. Veuillez vous référer à set xrange pour les détails.


variables

La commande show variables affiche toutes les variables définies par l'utilisateur, et leurs valeurs.

Syntaxe :

      show variables


version

La commande show version affiche la version de gnuplot en cours d'exécution, sa date de dernière modification, les mentions de copyright, et les adresses email de la FAQ, et des listes de diffusion info-gnuplot et rapport de bug - en bref, toutes les informations affichées à l'écran quand le programme est lancé en mode interactif.

Syntaxe :

      show version {long}

Avec l'option long, elle affiche aussi le système d'exploitation, les options de compilation utilisées à l'installation de gnuplot, l'emplacement du fichier d'aide et (à nouveau) les adresses email utiles.


view

La commande set view fixe l'angle de vue pour les tracés splot. Elle contrôle la projection des coordonnées 3d sur l'espace écran 2d. Elle permet de contrôler à la fois la rotation et la mise à l'échelle des données tracées, mais ne supporte que les projections orthographiques.

Syntaxe :

      set view <rot_x> {,{<rot_z>}{,{<scale>}{,<scale_z>}}}
      show view

où <rot_x> et <rot_z> contrôlent les angles de rotation (en degrés) dans un système de coordonnées 3d virtuel aligné sur l'écran : initialement (avant toute rotation) l'axe horizontal de l'écran est l'axe des x, l'axe vertical est l'axe des y, et l'axe perpendiculaire à l'écran est celui des z. La première rotation appliquée est <rot_x> autour de l'axe x. La seconde est <rot_z> autour du nouvel axe z.

<rot_x> est compris dans l'intervalle [0:180], et vaut par défaut 60 degrés, <rot_z> est compris dans l'intervalle [0:360], et vaut par défaut 30 degrés. <scale> contrôle la mise à l'échelle de tout le tracé, alors que <scale_z> n'affecte que l'axe z. Les deux sont par défaut à 1.0.

Exemples :

      set view 60, 30, 1, 1
      set view ,,0.5

Le premier remet tous les paramètres à leurs valeurs par défaut. Le second change seulement le facteur d'échelle, à 0.5.

Voir aussi set ticslevel.


vrange

Les commandes set urange et set vrange fixent les intervalles des paramètres utilisés pour calculer les valeurs x, y, z en mode splot paramétrique. Veuillez vous référer à set xrange pour les détails.


x2data

La commande set x2data fixe le type de donées de l'axe x2 : numérique ou heure/date. Veuillez vous référer à set xdata pour les détails.


x2dtics

La commande set x2dtics convertit les marques de graduation sur l'axe x2 (haut) en jours de la semaine. Veuillez vous référer à set xdtics pour les détails.


x2label

La commande set x2label fixe la légende de l'axe x2 (du haut). Veuillez vous référer à set xlabel pour les détails.


x2mtics

La commande set x2mtics convertit les graduations de l'axe x2 en mois de l'année. Veuillez vous référer à set xmtics pour les détails.


x2range

La commande set x2range règle l'intervalle horizontal qui sera affiché sur l'axe x2. Veuillez vous reporter à set xrange pour les détails.


x2tics

La commande set x2tics contrôle les graduations majeures (étiquetées) de l'axe x2 (haut). Veuillez vous référer à set xtics pour les détails.


x2zeroaxis

La commande set x2zeroaxis trace un axe horizontal x2 origine (y2=0). Pour plus de détails, veuillez vous référer à set zeroaxis.


xdata

Cette commande fixe le type de données de l'axe x : numérique ou heure/date. Une commande similaire existe pour chacun des autres axes.

Syntaxe :

      set xdata {time}
      show xdata

La même syntaxe s'applique à ydata, zdata, x2data et y2data.

L'option time fixe effectivement le type de données à heure/date. Si l'option n'est pas spécifiée, le type de données redevient numérique.

Voir set timefmt pour indiquer à gnuplot comment lire les données de date et heure. L'heure/date est convertie en secondes depuis le 1er janvier 1900. Il n'y a pour le moment qu'un seul timefmt, ce qui implique que toutes les colonnes d'heure/date doivent se conformer à ce format. Les intervalles doivent être spécifiés comme des chaînes entre guillemets, pour empêcher gnuplot d'interpréter les heures/dates comme des expressions.

La fonction 'strftime' (tapez "man strftime" sous unix pour l'explorer) est utilisée pour afficher les marques de graduation. gnuplot essaie de deviner un format logique pour cela, à moins que set format "chaîne" n'ait pas fourni un format décimal (plus d'un '%' ou ni %f ni %g).

Voir aussi Heure/date (Time/date) pour plus d'informations.


xdtics

La commande set xdtics convertit les marques de graduation sur l'axe x en jours de la semaine, où 0=dim et 6=sam. Les dépassements sont convertis en dates modulo 7. set noxdtics remet les marques à leur valeur par défaut (numérique). Des commandes similaires font la même chose pour les autres axes.

Syntaxe :

      set xdtics
      set noxdtics
      show xdtics

La même syntaxe s'applique à ydtics, zdtics, x2dtics et y2dtics.

Voir aussi la commande set format.


xlabel

La commande set xlabel fixe la légende de l'axe x (horizontal). Des commandes similaires existent pour les autres axes.

Syntaxe :

      set xlabel {"<légende>"} {<xdec>}{,<ydec>} {"<fonte>{,<taille>}"}
      show xlabel

La même syntaxe s'applique à x2label, ylabel, y2label et zlabel.

Spécifier les options de décalage <xdec> ou <ydec> permet de déplacer la légende de <xdec> ou <ydec> caractères en largeur ou hauteur. Par exemple, " set xlabel -1" changera seulement le décalage horizontal de la légende, la décalant d'un caractère sur la gauche. La taille d'un caractère dépend à la fois de la fonte et du terminal.

<fonte> est utilisée pour préciser la fonte d'affichage de la légende. L'unité de <taille> dépend du terminal utilisé.

Pour effacer une légende, ne mettez pas d'option sur la ligne de commande, par exemple : "set y2label".

Les positions par défaut des légendes d'axe sont les suivantes :

xlabel : la légende de l'axe x est centrée sous l'axe.

ylabel : la position de la légende de l'axe y dépend du terminal et peut être une des trois positions suivantes :

1. texte horizontal aligné à gauche, dans le coin haut-gauche du graphique. Les terminaux qui ne peuvent pas tourner le texte utiliseront probablement cette méthode. Si set x2tics est également utilisé, la légende peut déborder sur la graduation x2 la plus à gauche. On peut y remédier en ajustant la position de la légende y ou la marge gauche.

2. texte vertical centré verticalement à gauche du tracé. Les terminaux capables de faire tourner le texte utiliseront probablement cette méthode.

3. texte horizontal centré verticalement à gauche du tracé. Les pilotes EEPIC, LaTeX et TPIC utilisent cette méthode. L'utilisateur doit insérer des sauts de ligne avec "\\" pour empêcher la légende de déborder sur le tracé. Pour produire une colonne verticale de caractères, ajoutez "\\" entre chaque caractère (mais c'est laid).

zlabel : la légende de l'axe z est centrée au-dessus l'axe z, au-dessus de l'espace de tracé.

y2label : la légende de l'axe y2 est placé à droite de l'axe y2. La position dépend du terminal comme pour l'axe y.

x2label : la légende de l'axe x2 est placée au-dessus de l'axe du haut mais en dessous du titre du tracé. Il est aussi possible de créer une légende pour l'axe x2 en insérant des sauts de ligne dans le titre du tracé, par exemple :

      set title "Voici le titre\n\nVoici la légende de l'axe x2"

Notez que les guillemets doubles sont obligatoires. Bien sûr, la même fonte sera utilisée pour les 2 lignes.

Si vous n'êtes pas satisfait de la position d'une légende d'axe, utilisez set label à la place. Cette commande vous laisse un plus grand contrôle sur la place du texte.

Veuillez vous référer à set syntax pour de plus amples informations sur le traitement des backslashs et la différence entre les chaînes entre guillemets simples et doubles.


xmtics

La commande set xmtics convertit les graduations de l'axe x en mois de l'année, où 1=Jan et 12=Dec. Les dépassements sont convertis modulo 12 en mois. Les graduations reprennent leurs valeurs par défaut avec set noxmtics. Des commandes similaires existent pour les autres axes.

Syntaxe :

      set xmtics
      set noxmtics
      show xmtics

La même syntaxe s'applique à x2mtics, ymtics, y2mtics, et zmtics.

Voir aussi la commande set format.


xrange

La commande set xrange règle l'intervalle horizontal qui sera affiché. Une commande similaire existe pour chacun des autres axes, ainsi que pour le rayon polaire r et les variables paramétriques t, u et v.

Syntaxe :

      set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback}
      show xrange

où les termes <min> et <max> sont des constantes, des expressions ou un astérisque pour la mise à l'échelle automatique. Si les données sont de type heure/date, vous devez donner les intervalles sous la forme de chaînes entre guillemets, conformes au format de set timefmt. Toute valeur omise restera inchangée.

La même syntaxe s'applique à yrange, zrange, x2range, y2range, rrange, trange, urange et vrange.

L'option reverse renverse la direction de l'axe, par exemple set xrange [0:1] reverse tracera un axe avec 1 à gauche et 0 à droite. L'effet est identique à celui produit par set xrange [1:0], bien sûr. reverse est à l'origine destiné à être utilisé avec autoscale.

L'option writeback sauvegarde l'intervalle trouvé par autoscale dans le tampon qui serait rempli par set xrange. C'est utile si vous voulez tracer plusieurs fonctions mais n'avoir l'intervalle déterminé que par certaines d'entre elles. L'opération writeback est effectuée pendant l'exécution de plot, donc elle doit être spécifiée avant cette commande. Par exemple,

      set xrange [-10:10]
      set yrange [] writeback
      plot sin(x)
      set noautoscale y
      replot x/2

résulte en un intervalle y [-1:1] calculé à partir de sin(x) seul ; l'intervalle [-5:5] pour x/2 est ignoré. L'exécution de show yrange après chaque commande de l'exemple ci-dessus devrait vous aider à comprendre ce qui se passe exactement.

En 2D, xrange et yrange déterminent les dimensions des axes, trange détermine l'intervalle du paramètre en mode paramétrique, ou l'intervalle de l'angle en mode polaire. De même en 3D paramétrique, xrange, yrange, et zrange contrôlent les axes et urange et vrange contrôlent les paramètres.

En mode polaire, rrange détermine l'intervalle radial de tracé. <rmin> est une constante ajoutée au rayon, et <rmax> est une borne de tracé : aucun point de rayon supérieur à <rmax> ne sera tracé. xrange et yrange sont aussi affectés : les intervalles sont calculés comme si le graphe était celui de r(t)-rmin, avec rmin ajouté aux graduations.

Tout intervalle peut être totalement ou partiellement calculé automatiquement bien que ça n'ait de sens pour un paramètre que si ce sont des donées qui sont tracées.

Les intervalles peuvent également être spécifiés dans la commande plot. Dans ce cas les intervalles spécifiés ne seront utilisés que pour ce tracé, alors que les intervalles fixés par set seront utilisés pour tous les tracé suivants qui ne précisent pas leurs propres intervalles. La même règle s'applique pour splot.

Exemples :

Pour remettre l'intervalle en x à la valeur par défaut :

      set xrange [-10:10]

Pour renverser l'intervalle en y :

      set yrange [10:-10]

Pour mettre zmax à 10 sans affecter zmin (peut être calculé automatiquement) :

      set zrange [:10]

Pour calculer automatiquement xmin sans changer xmax :

      set xrange [*:]


xtics

La commande set xtics permet un contrôle fin des graduations majeures (étiquetées) de l'axe x. Les graduations peuvent être supprimées avec set noxtics, ou affichées (par défaut) avec set xtics. Des commandes similaires existent pour les axes y, z, x2 et y2.

Syntaxe :

      set xtics {axis | border} {{no}mirror} {{no}rotate}
                {  autofreq
                 | <incr>
                 | <début>, <incr> {,<fin>}
                 | ({"<étiquette>"} <pos> {,{"<étiquette>"} <pos>}...) }
      set noxtics
      show xtics

La même syntaxe s'applique à ytics, ztics, x2tics et y2tics.

axis ou border commande à gnuplot d'afficher les graduations le long de l'axe ou du bord, respectivement. Si l'axe est trop proche du bord, l'option axis peut produire des étiquettes de graduations recouvrant d'autres textes dans la marge.

mirror commande à gnuplot d'afficher des graduations non étiquetées aux mêmes positions sur le bord opposé. nomirror fait ce que son nom laisse supposer.

rotate demande à gnuplot de tourner le texte de 90 degrés, ce qui ne sera effectué quie si le pilote en est capable. norotate supprime ceci.

Les options par défaut sont border mirror norotate pour les graduations sur les axes x et y, et border nomirror norotate pour les graduations sur les axes x2 et y2. Pour l'axe z, l'option {axis | border} n'est pas disponible et l'option par défaut est nomirror. Si vous voulez répliquer les graduations sur l'axe z, vous pouvez leur laisser un peu plus d'espace avec set border.

Si les graduations sur x ne sont pas affichées, set xtics sans options restaure les options par défaut ; sinon, ça n'a aucun effet. Toute fréquence ou position spécifiée précédemment est retenue.

Les positions des graduations sont calculées automatiquement par défaut ou si l'option autofreq est présente ; sinon, elles peuvent être spécifiées sous deux formes :

La forme implicite <début>, <incr>, <fin> spécifie qu'une série de graduations doivent être tracées sur l'axe entre les valeurs <début> et <fin> avec un incrément <incr>. Si <fin> n'est pas précisée, elle est prise égale à plus l'infini. L'incrément peut être négatif. Si ni <début> ni <fin> n'est précisé, <début> est pris égal à moins l'infini et <fin> à plus l'infini, et les graduations seront affichées aux multiples entiers de <incr>. Si l'axe est logarihtmique, l'incrément sera utilisé comme facteur multiplicatif.

Exemples :

Marque les graduations à 0, 0.5, 1, 1.5, ..., 9.5, 10.

      set xtics 0,0.5,10

Marque les graduations à ..., -10, -5, 0, 5, 10, ...

      set xtics 5

Marque les graduations à 1, 100, 1e4, 1e6, 1e8.

      set logscale x; set xtics 1,100,10e8

La forme explicite ("<label>" <pos>, ...) autorise des positions arbitraires pour les graduations, ou des étiquettes non numériques. Un ensemble de graduations est un ensemble de positions, chacune munie d'une étiquette optionnelle. Notez que l'étiquette est une chaîne entre guillemets. Ce peut être une chaîne constante, comme "hello", mais elle peut contenir une information de formattage pour convertir la position en son étiquette, comme "%3f clients", ou elle peut être vide, "". Voir set format pour plus d'information. Si aucune chaîne n'est précisée, l'étiquette par défaut (numérique) est utilisée. Sous cette forme, les graduations n'ont pas besoin d'être listées dans l'ordre.

Exemples :

      set xtics ("minimum" 0, "moyen" 50, "maximum" 100)
      set xtics (1,2,4,8,16,32,64,128,256,512,1024)
      set ytics ("bas" 0, "" 10, "haut" 20)

Dans le deuxième exemple, toutes les graduations sont étiquetées. Dans le troisième, seules les graduations extrêmes sont étiquetées.

Quelle que soit la spécification, les graduations ne seront affichées que si elles sont dans l'intervalle concerné.

Le format (ou l'omission) des étiquettes de graduation est contrôlé par set format, à moins que le texte explicite des étiquettes ne soit inclus dans la commande set xtic ("<étiquette>"). Format (or omission) of the tic labels is controlled by set format, unless the explicit text of a labels is included in the set xtic (<label>) form.

Des graduations mineures (non étiquetées) peuvent être ajoutées à l'aide de la commande set mxtics.

Dans le cas de donées temporelles, les valeurs des positions doivent être des chaînes entre guillemets conformes au format timefmt. Si la forme <début>, <incr>, <fin> est utilisée, <début> et <fin> doivent être conformes à timefmt mais <incr> doit être en secondes. Les temps seront malgré tout affichés selon le format fixé par set format.

Exemples :

      set xdata time
      set timefmt "%d/%m"
      set format x "%b %d"
      set xrange ["01/12":"06/12"]
      set xtics "01/12", 172800, "05/12"

      set xdata time
      set timefmt "%d/%m"
      set format x "%b %d"
      set xrange ["01/12":"06/12"]
      set xtics ("01/12", "" "03/12", "05/12")

Chacun des deux exemples produira les graduations "Dec 1", "Dec 3", et "Dec 5", mais dans le second exemple, la graduation à "Dec 3" sera non étiquetée.


xzeroaxis

La commande set x2zeroaxis trace un axe horizontal x origine (y=0). Pour plus de détails, veuillez vous référer à set zeroaxis.


y2data

La commande set y2data fixe le type de donées de l'axe y2 : numérique ou heure/date. Veuillez vous référer à set xdata pour les détails.


y2dtics

La commande set y2dtics convertit les marques de graduation sur l'axe y2 (de droite) en jours de la semaine. Veuillez vous référer à set xdtics pour les détails.


y2label

La commande set y2label fixe la légende de l'axe y2 (de droite). Veuillez vous référer à set xlabel pour les détails.


y2mtics

La commande set y2mtics convertit les graduations de l'axe y2 en mois de l'année. Veuillez vous référer à set xmtics pour les détails.


y2range

La commande set y2range règle l'intervalle vertical qui sera affiché sur l'axe y2. Veuillez vous reporter à set xrange pour les détails.


y2tics

La commande set y2tics contrôle les graduations majeures (étiquetées) de l'axe y2 (droit). Veuillez vous référer à set xtics pour les détails.


y2zeroaxis

La commande set y2zeroaxis trace un axe vertical y2 origine (x2=0). Pour plus de détails, veuillez vous référer à set zeroaxis.


ydata

La commande set ydata fixe le type de donées de l'axe y : numérique ou heure/date. Veuillez vous référer à set xdata pour les détails.


ydtics

La commande set ydtics convertit les marques de graduation sur l'axe y en jours de la semaine. Veuillez vous référer à set xdtics.


ylabel

La commande set ylabel fixe la légende de l'axe y. Veuillez vous référer à set xlabel pour les détails.


ymtics

La commande set ymtics convertit les graduations de l'axe y en mois de l'année. Veuillez vous référer à set xmtics pour les détails.


yrange

La commande set yrange règle l'intervalle vertical qui sera affiché sur l'axe y. Veuillez vous reporter à set xrange pour les détails.


ytics

La commande set ytics contrôle les graduations majeures (étiquetées) de l'axe y. Veuillez vous référer à set xtics pour les détails.


yzeroaxis

La commande set yzeroaxis trace un axe vertical y origine (x=0). Pour plus de détails, veuillez vous référer à set zeroaxis.


zdata

La commande set zdata fixe le type de donées de l'axe z : numérique ou heure/date. Veuillez vous référer à set xdata pour les détails.


zdtics

La commande set zdtics convertit les marques de graduation sur l'axe z en jours de la semaine. Veuillez vous référer à set xdtics.


zero

La valeur zero est le seuil d'approximation pour les valeurs approchant 0.

Syntaxe :

      set zero <expression>
      show zero

gnuplot ne trace pas un point si sa partie imaginaire est supérieure en valeur absolue au seuil zero. Ce seuil est également utilisé dans diverses autres parties de gnuplot pour gérer (brutalement) les erreurs d'arrondi. La valeur zero par défaut est 1e-8. Des valeurs de zero supérieures à 1e-3 (l'inverse du nombre de pixels sur un écran typique) devraient sans doute être évitées, mais il n'est pas déraisonnable de fixer zero à 0.0.


zeroaxis

L'axe x peut être tracé par set xzeroaxis et effacé par set noxzeroaxis. Des commandes similaires existent pour les axes y, x2, et y2.

Syntaxe :

      set {x|x2|y|y2|}zeroaxis { { style-ligne | ls <style_ligne>}
                                 | { type-ligne | lt <type_ligne>}
                                   { largeur-ligne | lw <largeur_ligne>}}
      set no{x|x2|y|y2|}zeroaxis
      show {x|y|}zeroaxis

Par défaut, ces options sont hors service. L'axe zéro sélectionné est tracé avec une ligne de type <type_ligne> et de largeur <largeur_ligne> (si le pilote du terminal utilisé le supporte), ou avec un style défini par l'utilisateur <style_ligne>.

Si aucun type de ligne n'est spécifié, les axes sélectionnés seront tracés avec le type de ligne axe (type de ligne 0).

set zeroaxis l est équivalent à set xzeroaxis l; set yzeroaxis l. set nozeroaxis est équivalent à set noxzeroaxis; set noyzeroaxis.


zlabel

La commande set zlabel fixe la légende de l'axe z (de droite). Veuillez vous référer à set xlabel pour les détails.


zmtics

La commande set zmtics convertit les graduations de l'axe z en mois de l'année. Veuillez vous référer à set xmtics pour les détails.


zrange

La commande set zrange règle l'intervalle qui sera affiché sur l'axe z. Cet intervalle n'est utilisé que par splot, et ignoré par plot. Veuillez vous reporter à set xrange pour les détails.


ztics

La commande set ztics contrôle les graduations majeures (étiquetées) de l'axe z. Veuillez vous référer à set xtics pour les détails.


shell

La commande shell lance un shell interactif. Pour retourner à gnuplot, tapez logout sous VMS, exit ou Ctrl-D sous Unix, endcli sous AmigaOS, ou exit sous MS-DOS ou OS/2.

Une commande shell isolée peut être lancée en la faisant précéder du caractère ! ($ sous VMS) en début de ligne de commande. Le contrôle repassera à gnuplot en fin d'exécution. Par exemple, sous Unix, AmigaOS, MS-DOS ou OS/2,

      ! dir

affiche le contenu du répertoire puis retourne à gnuplot.

Sur Atari, la commande ! vérifie d'abord si un shell est déjà chargé, et l'utilise si c'est le cas. C'est pratique si gnuplot est lancé depuis gulam par exemple.


splot

splot est la commande de tracé 3d (en fait, il s'agit d'une projection sur une suface 2d, mais vous le savez déjà). Comme la commande plot, elle permet de créer un tracé d'après des fonctions mathématiques ou un fichier de données.

Référez vous à plot pour les caractéristiques communes ; seules les différences sont expliquées en détail ici. Notez en particulier que les options binary (binaire) et matrix(matrice) (expliquées sous "modificateurs de fichiers de données") n'existent pas pour plot.

Syntaxe :

      splot {<intervalles>}
            <fonction> | "<fichier>" {modificateurs-fichier}}
            {<spec-titre>} {with <style>}
            {, {definitions,} <fonction> ...}

où est fourni soit une <fonction> soit un nom de fichier entre guillemets. La fonction peut être une expression mathématique, ou un triplet d'expressions mathématiques en mode paramétrique.

Par défaut, splot dessine le plan xy sous les données tracées. La marge entre la plus basse graduation z et le plan xy peut être changée par set ticslevel. L'orientation d'une projection splot est contrôlée par set view. Référez-vous à set view et set ticslevel pour plus d'informations.

La syntaxe pour fixer les intervalles de la commande splot est la même que pour plot. En mode non-paramétrique, les intervalles doivent être donnés dans l'ordre x, y, z. En mode paramétrique, c'est u, v, x, y, z.

L'option titre est la même que pour plot. L'utilisation de with est également identique, sauf que les styles de tracé disponibles se limitent à lines, points, linespoints, dots et impulses. Les tracés de barres d'erreurs ne sont pas possibles avec splot.

Les options concernant les fichiers de données sont plus différentes.

fichier de données [fichier]
grille (grid_data)
aperçu de splot [apercu] (splot_overview)


fichier de données [fichier]

Comme pour plot, des données discrètes contenues dans un fichier peuvent être affichées en spécifiant le nom du fichier entre guillemets sur la ligne de commande splot.

Syntaxe :

      splot '<nom-fichier>' {binary | matrix}
                          {index <liste-index>}
                          {every <liste-every>}
                          {using <liste-using>}

Les noms de fichiers spéciaux "" et "-" sont permis, comme dans plot.

En bref, binary et matrix indiquent que les données suivent un format spécial ; index indique quels ensembles de données doivent être tracés dans un fichier contenant plusieurs groupes de données ; every indique quelles lignes de données (sous-ensembles) doivent être tracées, dans un unique ensemble de données ; using détermine comment les colonnes d'un seul enregistrement doivent doivent être interprétées.

Les options index et every fonctionnent comme avec plot ; using aussi, sauf que la liste using doit fournir trois entrées au lieu de deux.

Les options thru et smooth de plot ne sont pas disponibles pour splot, mais cntrparams et dgrid3d fournissent quelques possibilités limitées de lissage.

L'organisation du fichier de données est pour l'essentiel la même que pour plot, sauf que chaque point est un triplet (x,y,z). Si une seule valeur est fournie, elle sera considérée comme z, le numéro de bloc sera pris pour y, et le numéro du point-donnée dans le bloc sera pris pour x. Si deux valeurs sont fournies, gnuplot renvoie un message d'erreur. Trois valeurs sont interprétées comme un triplet (x,y,z). Les valeurs supplémentaires sont généralement utilisées comme des erreurs, qui peuvent être utilisées par fit.

Un enregistrement blanc sépare les blocs de données dans un fichier de données splot ; splot considère les blocs de données comme l'équivalent de courbes iso-y de fonctions (toutes les données du bloc ont même ordonnée y). Aucun segment ne joindra des points séparés par un enregistrement blanc. Si tous les blocs de données contiennent le même nombre de données, gnuplot tracera les isocourbes transverses (même x) entre les blocs de données, reliant les points correspondants. Cela s'appelle "grille de données" (grid data), et c'est nécessaire pour les tracés de surface, de contour (set contour) et pour la suppression des courbes cachées (set hidden3d).

Il n'est plus nécessaire de spécifier le mode parametric pour les splots à 3 colonnes. Voir aussi splot grid data.

binary (binaire)
Exemple de fichier de données [fichier exemple]
matrix (matrice)


binary (binaire)

splot peut lire les fichiers binaires écrits dans un format spécifique (et sur un système utilisant une représentation de fichier binaire compatible).

Dans les versions précédentes, gnuplot détectait automatiquement les fichiers de données binaires. Il est maintenant nécessaire de spécifier le mot clef binary directement après le nom du fichier.

Les flottants simple précision sont stockées dans un fichier binaire comme suit :

      <N+1>  <y0>   <y1>   <y2>  ...  <yN>
       <x0> <z0,0> <z0,1> <z0,2> ... <z0,N>
       <x1> <z1,0> <z1,1> <z1,2> ... <z1,N>
        :      :      :      :   ...    :

qui sont convertis en triplets :

      <x0> <y0> <z0,0>
      <x0> <y1> <z0,1>
      <x0> <y2> <z0,2>
       :    :     :
      <x0> <yN> <z0,N>

      <x1> <y0> <z1,0>
      <x1> <y1> <z1,1>
       :    :     :

Ces triplets sont ensuite convertis en iso-courbes gnuplot puis gnuplot effectue le reste du tracé de la manière habituelle.

Une collection de routines C de manipulation de vecteurs et matrices est fournie dans binary.c. La routine d'écriture des données est

      int fwrite_matrix(file,m,nrl,nrl,ncl,nch,row_title,column_title)

Un exemple d'utilisation de ces routines est fourni dans le fichier bf_test.c qui génère des fichiers binaires pour le fichier de démo demo/binary.dem.

Le mot-clef index n'est pas supporté, puisque le format de fichier n'autorise qu'une surface par fichier. Les filtres every et using sont supportés. using opère comme si les données étaient lus sous la forme de triplets, donnée ci-dessus.

Démo de fichier binaire splot.


Exemple de fichier de données [fichier exemple]

Un exemple simple de tracé 3d d'un fichier de données est :

      splot 'fichierdonnees.dat'

où le fichier "fichierdonnees.dat" peut contenir :

      # La vallée des Gnous
         0 0 10
         0 1 10
         0 2 10

         1 0 10
         1 1 5
         1 2 10

         2 0 10
         2 1 1
         2 2 10

         3 0 10
         3 1 0
         3 2 10

Notez que "fichierdonnees.dat" définit une grille 4x3 (4 lignes de 3 points). Les lignes (blocs de données) sont séparées par des enregistrements vides.

[splot.gif] Notez aussi que la valeur x est maintenue constante sur chaque ligne de données. Si vous maintenez plutôt y constant et que vous effectuez le tracé avec le calcul des arêtes cachées, vous vous apercevrez que la surface est tracée "à l'envers" (l'intérieur à l'extérieur).

En fait, pour des données placées sur une grille, il n'est pas nécessaire que les abscisses soient constantes dans un bloc de données, ni que les ordonnées soient identiques d'un bloc à l'autre. gnuplot exige seulement que le nombre de points soit le même dans tous les blocs. Malgré tout, comme la grille de surface, d'où les contours sont dérivés, connecte des points se suivant séquentiellement, l'effet d'une grille irrégulière est imprévisible et doit être examiné au cas par cas.


matrix (matrice)

L'indicateur matrix indique que les données ASCII sont stockées dans un format matriciel. Les valeurs z sont lues par ligne, ainsi :

      z11 z12 z13 z14 ...
      z21 z22 z23 z24 ...
      z31 z32 z33 z34 ...

etc. Les indices de ligne et de colonne sont utilisées pour les abscisses et les ordonnées.


grille (grid_data)

Les routines 3D sont conçues pour des points répartis sur un quadrillage (grille), avec un point de données à chaque intersection. Les données peuvent provenir soit de l'évaluation d'une fonction (voir set isosamples) soit d'un fichier de données (voir splot fichier_donnees). Le terme "isocourbe" est appliqué aux lignes de la grille, pour les fonctions et les données. Notez que la grille n'est pas nécessairement rectangulaire en x et y, puisqu'elle peut être paramétrée par u et v. Voir set isosamples.

Cependant, gnuplot n'exige pas ce formatage. Dans le cas de fonctions, samples (le nombre de points évalués sur une isocourbe) et isosamples (le nombre d'isocourbes tracées) ne sont pas nécessairement égaux. Dans le cas des fichiers de données, s'il y a un nombre égal de données dans chaque bloc, alors les "iso-courbes" connecteront les points d'un même bloc, et les "trans-iso-courbes" connecteront les points correspondants des différents blocs pour générer une "surface". Dans les deux cas, les modes contour et faces cachées (hidden3d) peuvent donner des tracés différents si les points ne sont pas dans le format approprié. Les données dispersées (scattered) peuvent être converties dans un format de grille (différent) avec set dgrid3d.

L'algorithme de détection de contour teste la variation de z le long d'une courbe entre un point sur une y-isocourbe et le point correspondant sur la suivante. De ce fait un tracé de contour sur une surface où les x-isocourbes ne coïncident pas avec des des intersections de y-isocourbes ignoreront ces points. Testez :

       set xrange [-pi/2:pi/2]; set yrange [-pi/2:pi/2]
       set function style lp
       set contour
       set isosamples 10,10; set samples 10,10;
       splot cos(x)*cos(y)
       set samples 4,10; replot
       set samples 10,4; replot


aperçu de splot [apercu] (splot_overview)

splot peut afficher une surface comme un ensemble de points, ou en connectant ces points. Comme avec plot, les points peuvent être lus dans un fichier ou résulter de l'évaluation d'une fonction à intervalles réguliers, voir set isosamples. La surface peut être esquissée en connectant les points par des segments de droite, voir set surface, auquel cas la surface peut être rendue opaque avec set hidden3d (faces cachées). Le point d'où la surface est "vue" peut être changé par set view.

De plus, pour des points distribués sur une grille, splot peut interpoler les points de même altitude (voir set contour), et peut connecter ces nouveaux points pour tracer les lignes de contour, soit directement avec des segments de droites, soit avec des courbes lissées (voir set cntrparam). Les fonctions sont déjà évaluées selon une grille, déterminée par set isosamples et set samples alors que les données doivent soit être décrites selon une grille dans un fichier, soit être utilisées pour générer une grille avec set dgrid3d.

Les lignes de contour peuvent être soit tracées sur la surface, soit projetées sur la base. Les projections sur la base peuvent être écrites dans un fichier et relues avec plot pour tirer parti des possibilités supplémentaires de plot.


test

test crée un affichage des styles de ligne et de point, et d'autres choses utiles pour tester les capacités du terminal que vous utilisez.

Syntaxe :

      test


update

Cette commande sauvegarde les valeurs courantes des paramètres d'ajustement (fit) dans le fichier spécifier, formatté comme un fichier de valeurs initiales (voir la section fit). C'est utile pour conserver les valeurs courantes pour une utilisation future, ou pour redémarrer un ajustement stoppé.

Syntaxe :

      update <nomfichier1> {<nomfichier2>}

Si un second nom de fichier est fourni, les valeurs mises à jour sont écrites dans ce fichier, et le fichier d'origine est inchangé.

Sans quoi, si le fichier existe déjà, gnuplot commence par le renommer en lui ajoutant .old, puis ouvre un nouveau fichier. En résumé, "update 'fred'" a le même effet que "!rename fred fred.old; update 'fred.old' 'fred'". [Sous DOS et les autres systèmes qui utilisent la convention de nommage sur 12 caractères "nom_fich.ext", "ext" sera "old" et "nom_fich" sera déterminé par le nom initial. Aucun renommage n'est effectué sous VMS, puisque ce système numérote les versions successives.]

Veuillez vous référer à fit pour plus d'informations.


Interfaces utilisateur graphiques [interfaces, gui]

Plusieurs interfaces utilisateur graphiques ont été écrites pour gnuplot et cette distribution en inclut une pour win32. De plus, il y a une interface Macintosh à

       ftp://ftp.ee.gatech.edu/pub/mac/gnuplot

et plusieurs interfaces X11, dont 3 en Tcl/Tk, disponibles dans les sites Tcl/Tk usuels.


Bugs

Des exceptions virgule flottante (nombres trop grands/petits, divisions par zéro, etc.) peuvent occasionnellement être générées par des fonctions définies par l'utilisateur. En particulier, certaines démos peuvent générer des nombres dépassant l'intervalle virgule flottante. Selon l'environnement de compilation ou d'exécution, soit le système stoppe gnuplot, soit il ignore ces exceptions (auquel cas, gnuplot étiquette le point correspondant comme indéfini).

Les fonctions de bessel ne marchent pas pour des arguments complexes.

La fonction gamma ne marche pas pour des arguments complexes.

Pour gnuplot 3.7, tout le développement a été fait en C ANSI. Avec les versions actuelles des systèmes d'exploitation, des compilateurs et des bibliothèques, les bugs spécifiques aux systèmes documentés dans la version 3.5 sont relégués dans la section old_bugs du document original, et non traduits ici.

Les bugs débusqués depuis la version courante peuvent être consultés sur le site officiel de distribution :

       ftp://ftp.dartmouth.edu/pub/gnuplot
      http://www.cs.dartmouth.edu/gnuplot_info.html

Veuillez signaler tout bug par email à bug-gnuplot@dartmouth.edu.

Anciens bugs (Old_bugs)


Anciens bugs (Old_bugs)

Cette section n'est pas traduite en français.


Created automatically by doc2html