Universit de Strasbourg Environnements Informatique
Feuille de TP
Introduction Gnuplot
1 Gnuplot
Gnuplot est un logiciel permettant deffectuer le tracer de courbes en 2D ou en 3D. Ces courbes peuvent tre la reprsentation de courbes mathmatique ou dchantillons issues de diverses mesures. Les donnes utilises par gnuplot pour tracer les courbes peuvent provenir soit de donnes stockes dans un chier, soit de lvaluation dune fonction mathmatique une ou deux variables. Les courbes gnres par gnuplot peuvent tre visualises sous diffrents formats : directement dans une fentre (comportement par dfaut) ou partir dun chier image gnr par gnuplot. Une grande varit de formats sont ainsi disponibles : format bitmap : png, gif, jpg, ... ; format vectoriel : eps, svg, ... ; A chier de commandes LTEX. Le logiciel gnuplot sutilise en ligne de commandes. Pour des questions pratique, il est galement possible dutiliser des chiers script, contenant une suite dinstructions gnuplot, permettant dautomatiser la gnration des courbes.
2 Premiers pas
Pour lancer le logiciel, dans un terminal taper la commande gnuplot. Le shell du logiciel se lance et attend vos commandes de tracer de courbe. tout moment vous pouvez interroger laide en ligne en tapant la commande help suivie du nom dune commande. Vous pouvez galement consulter laide disponible sur le site de gnuplot : [Link] Pour quitter le programme, vous pouvez utiliser la commande exit. Pour rinitialiser le programme, vous pouvez utiliser la commande reset. Pour tracer des fonctions, il faut, dans un premier temps, les dnir. Pour dnir une fonction, la syntaxe est la suivante : <nom>(<nom de la variable>) = <expression mathmatique> ; Exemple :
f(x) = 2*x + 3;
Pour tracer la courbe, il faut utiliser la commande plot suivie du nom de la fonction. Pour tracer la fonction f prcdente, on utilisera la commande suivante :
plot f(x);
2.1 Tracs simples
Exercice 1 Tracer les courbes dquations suivantes : f (x) = 2x + 4 1
g(x) = x2 + 2x + 1 (la puissance est note ** en gnuplot) h(x) = 2x sin( x ) (la fonction sinus est prdnie dans gnuplot et est note sin, la variable 2 est simplement note pi) Il est possible de tracer plusieurs fonctions la fois. Il suft dappeler la commande plot et donner la liste des fonctions. Chaque nom de fonction est spar par une virgule. Exercice 2 Tracer dans une seule fentre les trois fonctions f, g, h.
2.2 Paramtres de trac des courbes
Il est galement possible de modier certains paramtres de tracs (utiliser des points au lieu de ligne, chang la couleur, la lgende de la courbe, ...). Par exemple, la commande suivante :
plot f(x) with points title "courbe 1";
permet de tracer la courbe f avec des points, en donnant comme lgende la courbe, le nom courbe 1. Loption linewidth 2.0 permet de doubler lpaisseur de la ligne. pointsize 2.0 permet de doubler la taille des points. Exercice 3 Tracer les courbes prcdente en modiant le type de trac. Utiliser les types suivants et comparer les rsultats : lines, points, linespoints, impulses, dots, steps, fsteps, histeps, ... Essayer galement de tracer les courbes en modiant la lgende de la courbe et lpaisseur de trac de la courbe.
2.3 Paramtres gnraux de trac
Les rglages prcdents ne sapplique qu la courbe courante. Il est possible dappliquer les options de trac toutes les courbes traces par la suite. Ces rglages gnraux seffectuent via la commande set. Sa syntaxe est la suivante : set <option> <valeurs>. Par exemple, la commande :
set xrange [-15:15];
permet de rgler lchelle des x de 15 15. Vous pouvez remplacer une borne de cet intervalle par *, ce qui laisse le logiciel gnuplot choisir la valeur. Pour rinitialiser la valeur de tous ces rglages (ie. revenir aux rglages par dfaut du logiciel), vous pouvez utiliser la commande reset ; Exercice 4 Tracer la courbe g en rglant laxe des x dans lintervalle [20; 20] et laxe des y de 0 une valeur xe par gnuplot. La commande set permet galement dajouter un titre sur le trac et sur les axes. Exercice 5 Grce la commande help set, rechercher les options de set permettant de modier le titre du graphique et le label des axes x et y. Utiliser ces options pour donner un titre au graphique et des labels aux axes. 2
3 Courbe 3D
3.1 Trac de base
De faon analogue plot, la fonction splot permet de tracer des courbes 3D. Exercice 6 Tracer les courbes dquations suivantes : f (x, y) = 2x + 3y + 2 g(x, y) = x2 + y 2 2x + y + 1 h(x, y) = sin(x) + 2 cos(x + y) La commande splot accepte galement diffrents paramtres pour modier le style du trac, le nom des courbes, etc. Exercice 7 Utiliser la commande help pour trouver ces diffrents styles. Essayer en quelques uns. Faire de mme pour renommer les courbes.
3.2 Quelques options de trac
Il existe galement des options globales pour tracer les courbes de 3D, activables et rglables via la commande set (idem aux courbes 2D). Parmi ces options, il en existe une pour afcher ou non les parties masques dune vue 3d. Cette option est loption hidden3D activable via la commande :
set hidden3d;
et se dsactive avec la commande :
unset hidden3d;
Exercice 8 Comparer le trac de la courbe h en activant et en dsactivant lafchage des parties masques. Faire de mme pour le trac des trois courbes en mme temps. Il est possible de modier la nesse avec laquelle les courbes sont traces. Pour cela, il faut modier la frquence dchantillonnage des courbes. La commande set isosamples permet de rgler la frquence dchantillonnage. Elle est suivie du nombre dchantillons prendre sur laxe de x et le nombre dchantillons sur laxe des y. Exemple :
set isosamples 10,10;
Exercice 9 Tracer les courbes associes f , g et h pour diffrentes valeurs dchantillonnage : 10,10 20,10 10,20 20,20 Exercice 10 Activer loption set contour. Tracer la courbe h. Que fait loption set contour ? Idem en activant loption set grid. 3
3.2.1
Couleur
Il est galement possible de colorer les surfaces traces. Pour cela, il faut utiliser la commande :
set pm3d;
Exercice 11 Tracer la courbe h en couleur. Les couleurs peuvent tre modies via la commande set palette defined (<liste des couleurs>). Exemple avec un dgrad de couleurs prdnies par gnuplot :
set palette defined (0 "red", 1 "blue", 2 "green", 3 "dark-yellow");
Exercice 12 Essayer de tracer la courbe h avec diffrents dgrads de couleurs.
3.3 Espace paramtrique
Jusqu prsent les fonctions dnies ltaient pour un trac avec des coordonnes cartsiennes. Il est possible dindiquer gnuplot de fonctionner avec des coordonnes paramtriques. Ainsi, il existe la commande :
set parametric;
Dans ce mode de fonctionnement, les variables des fonctions ne seront plus nommes x et y mais u et v. Exercice 13 Tracer les courbes 3D dquations suivantes (coordonnes paramtriques), en utilisant les paramtres donnes chaque quation et en dsactivant lafchage des parties masques : 1. f (u, v) = (1 0.2 cos(v)) cos(u) g(u, v) = (1 0.2 cos(v)) sin(u) h(u, v) = 0.2 sin(v) avec u [0.00000; 6.28319], v [0.00000; 6.28319] et z [1.00000; 1.00000]. 2. f (u, v) = (1 0.1 cos(v)) cos(u) g(u, v) = (1 0.1 cos(v)) sin(u) u 10) h(u, v) = 0.1 (sin(v) + 1.7 avec u [0; 10], v [0; 10] et z rgle automatiquement par gnuplot1 . Utiliser comme chantillonnage le couple (100, 20).
1
Pour cela vous pouvez utiliser la commande set autoscale z.
3. f (u, v) = cos(u) + 0.5cos(u) cos(v) g(u, h) = sin(u) + 0.5 sin(u) cos(v) h(u, v) = 0.5 sin(v) i(u, v) = 1 + cos(u) + 0.5 cos(u) cos(v) j(u, v) = 0.5 sin(v) k(u, v) = sin(u) + 0.5 sin(u) cos(v) Tracer les fonctions h et k avec des lignes. Tracer toutes les fonctions avec un chantillonnage de (50, 20), avec u [; ], v [; ] et z rgl automatiquement par gnuplot.
4 Tracs partir de chiers de donnes
Les courbes traces jusqu prsent sont obtenues partir de lvaluation dune quation de courbe. Avec gnuplot il est possible de tracer des graphiques partir de donnes stockes dans des chiers. On peut ainsi produire diffrents types de graphiques. Pour tracer des donnes partir de chiers, il faut remplacer dans lappel de la commande plot ou splot les rfrences une dnition de fonction par un nom de chier (chemin complet vers le chier) o se trouvent les donnes. Un exemple de chier de donnes est donn par le chier [Link]. Dans ces chiers, une colonne reprsente un type de donnes (un type de mesure) et chaque ligne reprsente les valeurs de chaque mesures. La premire ligne peut contenir un intitul des donnes. Dans ce cas, il faudra mettre cette chane de caractres entre " ". Pour tracer son contenu, il faut utiliser la commande :
plot [Link] using 1:xtic(1) title column with lines, using 2 title column with lines, using 3 title column with lines;
Avec ce trac, chaque courbe correspond une colonne dans le chier de donnes et chaque ligne correspond une valeur sur laxe des y. xtic permet de spcier la colonne de valeurs utiliser pour laxe des x. Pour que cette commande fonctionne, il faut que le chier contenant les donnes soit accessible par gnuplot. Deux solutions soffrent vous pour laccs de gnuplot ce chier : 1. Donner explicitement le chemin complet vers le chier. 2. Dplacer gnuplot vers le rpertoire contenant ce chier. partir de la ligne de commande gnuplot, il est possible dutiliser les commandes pwd et cd qui ont le mme comportement que dans un shell. Exercice 14 Tracer les courbes en utilisant la commande donne prcdemment. laide de la commande help et de la documentation sur le site web de gnuplot, essayer de comprendre quoi correspondent les diffrentes options utilises dans cette commande. Nhsiter pas les modier pour comprendre et vrier leur comportement.
4.1 Styles de tracs
De faon analogue aux styles de tracs des fonction, il existe les mme possibilit de trac pour les donnes. Exercice 15 Tracer les donnes prcdentes en changeant le style. Utiliser les styles cits lExercice 3. Essayer galement les styles boxes et histograms. 4.1.1 Style candlesticks
Vous pouvez tracer un graphique en utilisant le style candelsticks. Ce style de trac ncessite 5 donnes par chantillon. Par exemple, le chier [Link] peut tre trac par :
plot [Link] using 1:3:2:6:5 with candlesticks
Exercice 16 Essayer ce trac. Dterminer quelle est linuence des diffrentes donnes pour un chantillon. 4.1.2 Histogrammes
Pour tracer des histogrammes, il faut dans un premier temps activer le mode de tracer des histogramme via la commande :
set style data histograms
puis rgler le type dhistogramme que lon souhaite tracer via la commande set style histogram <type dhistogramme>. Exercice 17 Essayer la commande suivante :
set style data histograms; set style histogram clustered; plot [Link] using 1, using 2, using 3;
Exercice 18 En utilisant le chier [Link], essayer de tracer lhistogramme avec barre derreurs suivant :
14 [Link] using 1:2 using 3:4 using 5:6 12
10
0 -2 0 2 4 6 8 10
Exercice 19 Tracer lhistogramme suivant. Attention bien remplir les barres de lhistogramme et modier la position de la lgende (key).
16 [Link] using 1 using 2 using 3 14
12
10
0 -2 0 2 4 6 8 10
5 Format de sorties
Il possible denregistrer les tracs produits par gnuplot dans des chiers images. Il suft de dnir un terminal de sortie. 7
Pour afcher la liste des terminaux disponibles, il suft de taper la commande
set terminal
Si la sortie doit seffectuer dans un chier. On peut spcier le nom du chier via la commande set output <nom fichier>. Pour sassurer de la bonne criture du chier, il faut appeler, aprs le dessin, la commande :
set output
Exercice 20 Essayer de gnrer le trac dune courbe dans un chier de type png.