Un logiciel de tracé de courbes, simple et puissant
Gnuplot est un logiciel "libre", permettant de tracer très rapidement des courbes à partir d'une équation, ou bien de relevés de mesures, telle qu'une simulation en fournit. Le maniement de gnuplot nécessite de maîtriser deux commandes, la commande plot et la commande set . Si on y ajoute la commande help, qui fournit des informations sur les options possibles), on a un tour d'horizon assez complet, qui satisfera pour longtemps les besoins de l'utilisateur moyen (noter que help ne donne pas accès à un "vrai" manuel d'apprentissage).
Ce court manuel constitue une introduction aux notions de base, permettant d'utiliser le logiciel et d'en saisir la puissance.
Convention: dans la suite, les caractères "courier new" gras indiquent les mots clés gnuplot; les données ou paramètres entrés par l'utilisateur sont indiqués en "courier new" de graisse ordinaire.
Sommaire de cette courte présentation
Imaginons que nous voulions tracer une série de courbes, par exemple x2 et x2 + 12x sin(x1/2).

Une fois gnuplot lancé, tapons:
plot
x**2, x**2+12*x*sin(sqrt(x))Le logiciel calcule et affiche quelque chose ressemblant à la figure ci-dessus. Tous les éléments de la figure (les axes, les légendes, les titres, les marques d'unités, etc.) sont modifiables à souhait -- c'est le rôle de la commande set, aux arguments multiples.
Pour tracer une courbe, non à partir d'une formule mathématique mais de résultats de mesure, le mode d'emploi de gnuplot est tout aussi simple. Les données à traiter sont dans un fichier texte ordinaire. Par exemple, le fichier se nommera 'toto.txt' et il pourra avoir l'allure suivante:
# fichier 'toto.txt'
Noter l'usage des '#' qui introduisent une ligne de commentaires, ignorée de gnuplot. Le format d'entrée des données est libre: la commande va détecter les colonnes par les espaces qui les séparent - même si elles ne sont pas alignées.
Imaginons que la variable de commande soit donnée par la première colonne, et soit à visualiser les variations de p1 et p3 (colonnes 2 et 4). La commande s'écrira
plot
"toto.txt" using 1:2 with lines,\Le résultat sera quelque chose comme cela:
La commande set est très riche. Elle permet de régler l'allure du dessin, et aussi de choisir la cible dans laquelle on va le placer. Voici une liste des principales options que set permet de déployer.
On écrira
set xlabel
"titre de l'axe des x"On employera la commande
set logscale
y (ou x)On supprimera cette option par le
set nologscale
yLes 'keys' sont les indications permettant de savoir quelle courbe est tracée. Dans le graphique ci-dessus, "toto.txt" using 1:2 est le 'key' d'une des deux courbes. Pour les supprimer,
set nokey
Les 'keys' sont en général des indications peu adaptées. Je leur préfère généralement les 'labels', qui permettent de mieux personnaliser le dessin et d'en rendre la lecture plus aisée. Le label est un texte, que l'on peut placer où on le désire. On écrira
set label
"courbe 1" at x, yce qui écrira le texte entre guillements à l'emplacement repéré par (x, y) - dans les coordonnées des axes. On peut placer autant de labels qu'on le désire. Pour les supprimer tous, on écrit simplement
set nolabel
Gnuplot interprète les données et choisit l'étendue des axes en fonction des valeurs. On peut cependant forcer l'étendue par une commande
set xrange
[a:b]qui limite le tracé. Ceci sera utile pour provoquer un 'zoom' sur une partie intéressante. Cela permet aussi de supprimer des valeurs nulles avec des coordonnées logarithmiques.
Pour quadriller le tracé, on fera
set grid
set nogrid le supprimera
L'utilisation des commandes précédentes permet de visualiser le graphique. Pour l'insérer dans un document, il faut le sauver dans un format adapté. Le plus simple est de sauvegarder le dessin sous un format postscript. Pour cela, on sélectionne un type de terminal, un fichier qui contiendra la figure, éventuellement une dimension, et on redessine:
set term postscript portrait
L'option "portrait" sauve sous le format vertical habituel, on peut aussi spécifier "landscape" (option par défaut).
De façon générale, la commande "help" permet de naviguer dans les nombreuses rubriques de l'aide en ligne. En particulier, elle est utile pour le "set". Par exemple:
Help set
Donne la liste de toutes les options disponibles. Cela permet de raffiner sa recherche:
Help set terminal
Reprenons l'exemple du tracé des courbes algébriques. Ajoutons une grille, des légendes sur les axes, et modifions l'étendue du tracé. Ensuite, si le dessin nous plait, sauvegardons-le sous un format postscript. Nous avons, au préalable, lancé, sous Unix par exemple, la commande gnuplot. A l'invite, on entrera:
set logscale
ypause
-1set term
postscript portraitLa commande pause -1 immobilise l'exécution, il faut taper "enter" pour continuer. L'ordre des commandes importe peu (le plot doit évidemment arriver en dernier!). On va avoir une courbe qui ressemblera au graphe suivant.

Lorsqu'on travaille sur une station Unix, on peut appeler le logiciel en tapant simplement 'gnuplot'. Une invite permet alors d'entrer ses commandes à la suite. On peut entrer des commandes, visualiser, corriger cetraines options et relancer le dessin par un simple replot.
On peut aussi entrer ces commandes dans un fichier et lancer par
gnuplot
"Nom_de_Fichier"ce qui permet de corriger plus simplement, sans avoir à retaper toute la suite des instructions.
Le logiciel est normalement présent sur toutes les machines Unix. Il existe des versions Linux, et des versions Windows. A titre indicatif, le volume nécessaire à son installation sur Windows 98 est de l'ordre de 2.5 Mégaoctets.
On peut se procurer les fichiers d'installation sur la plupart des sites qui offrent les distributions classiques des logiciels libres. En France, par exemple, sur le site de l'IRISA
voir aussi
ftp://ftp.darmouth.edu/pub/gnuplot
ftp://ftp.gnuplot.vt.edu/pub/gnuplot
On peut aussi consulter le site "officiel" de gnuplot, qui se trouve à l'adresse:
http://www.gnuplot.info
Des informations (et en particulier un manuel complet) sont disponibles sur