Table des matières

1. Objet de ce document	2

2. Lancer et quitter gnuplot	2

3. Tracer un graphe y = f (x)	2

4. Intervalles d'étude sur x et y	2

5. Axes, annotation, échelles	2

5.1. Cadre autour du graphe	2

5.2. Titre général du graphe : set title	3

5.3. Titre des courbes : title	3

5.4. Affichage de l'équation de la courbe dans le cadre : set key	3

5.5. Titre des axes : set xlabel	3

5.6. Graduation des axes : set xtics	3

5.7. Utilisation d'échelles logarithmiques	3

6. Styles de traits du graphe	3

7. Style de grille de fond	4

8. Charger / Enregistrer un fichier gnuplot	4

9. Exporter une image gnuplot dans OpenOffice.org	4

9.1. Export en emf	4

9.2. Insertion du fichier image dans OOoWriter	4

10. Export vers d'autres formats	5

10.1. Export en jpg et en ps	5

10.2. Export en eps	5

10.3. Export en dxf	5

11. Les graphes 2D	5

11.1. En coordonnées cartésiennes	5

11.2. En coordonnées polaires	6

11.3. En coordonnées paramétriques	6

11.4. Tracé d'une fonction implicite f (x ; y) = 0	7

11.5. Fonctions définies par intervalles	7

12. Les graphes 3D	7

12.1. Exemples	7

12.2. Options graphiques	8

12.3. Systèmes de coordonnées	8

13. Représentation graphique de fichiers de données	9

14. Calcul d'expressions	9

15. Déclaration de variables et de fonctions.	9

16. Quelques autres options	9

17. Interactions avec le système d'exploitation	10

18. Touches interactives	10

19. Pour en savoir plus ...	11

_________________

Objet de ce document

Gnuplot est un traceur de courbes très puissant. Ce document a pour but d'en exposer les fonctionnalités les plus utiles dans le cadre de fabrication de documents mathématiques conjointement avec la suite bureautique libre gratuite OpenOffice.org.

Les chapitres 2 à 10 exposent les manipulations de base.
Les chapitres suivants détaillent des options plus élaborées.

Lancer et quitter gnuplot

Sous windows, on lance le programme wgnuplot.exe qui s'exécute dans une fenêtre windows.

Sous linux gnuplot s'exécute dans un xterm en tapant gnuplot.

L'interface de saisie a l'apparence d'une console texte.

Les graphes s'afficheront dans une autre fenêtre.

Pour quitter gnuplot, taper quit

Tracer un graphe y = f (x)

plot sin(x)	Produira le graphe de sin (x) pour des valeurs de x comprises entre -10 et 10 (intervalle par défaut)
set xrange [-2*pi:2*pi]	Déclare le nouvel intervalle d'étude Remarquer le séparateur ":"
replot	replot est l'instruction de rafraîchissement de la courbe, après modifications d' options. Cette instruction est fréquemment invoquée.

Intervalles d'étude sur x et y

Un point important à signaler est que l'ordre des options précédant l'instruction plot est indifférent.

set xrange [-5:5] replot	Par défaut, -10 < x < 10
set autoscale y replot	Permet au logiciel d'ajuster l'axe des ordonnées pour que la corbe remplisse au mieux la fenêtre
show yrange	Montre l'intervalle d'étude actuellement actif sur y.

Axes, annotation, échelles

Cadre autour du graphe

Syntaxe générale : set border [<choix>] [<style>]

set border 1+2 lt 3 set border unset border	Trace la bordure inférieure et la bordure gauche, en bleu Revient aux options par défaut Aucune bordure

Titre général du graphe : set title

set|unset title "Titre général du graphique"	

Titre des courbes : title

plot [0:5][-1:6] f1(x) title "courbe n°1"	

Affichage de l'équation de la courbe dans le cadre : set key

set|unset key	active / désactive l'affichage de l'équation en haut à droite du graphique

Titre des axes : set xlabel

set xlabel "t(s)"	Affichage des annotations sur l' axe des abscisses
set ylabel "v(m/s)"	Affichage des annotations sur l' axe des ordonnées

Graduation des axes : set xtics

show xtics	Affiche la configuration actuelle des graduations sur x.
set xtics 1	Force l'affichage des graduations sur x toutes les unités. Cet affichage s'accompagne de celui d'une grille verticale.
set xtics ("mini" 0, "moyen" 5, "maxi" 10)
Provoque la pose des étiquettes en même temps que yrange devient automatiquement [0:10]
	Syntaxe générale
set ytics <start>,<incr>,<end>,"<label>" <position>
help ticscale	Affiche l'aide concernant le réglage de la taille des traits de graduations.
set mxtics 2	Commande la pose des graduations secondaires définissant deux sous intervalles entre les graduations principales

Utilisation d'échelles logarithmiques

set logscale x	active l'échelle log en abscisses
unset logscale y	désactive l'échelle log en ordonnées
l	L'appui de la touche l tandis qu'un graphe est affiché, applique directement set logscale y;replot. Un nouvel appui sur l vaut unset logscale y;replot

Styles de traits du graphe

plot x**2 lt 3 lw 2	lt donne l'option de couleur -1: noir , 0 : hachures 1 : rouge , 2 : vert clair , 3 : bleu , 4 : magenta 5 : cyan , 6 : brun , 7 : jaune , 8 : orange lw 2 = épaisseur "moyenne" (en 1/72 '') * est le signe de multiplication. Lorsqu'on le double, ** cela devient un signe de puissance. x**2 signifie x²
plot sin(x) with lines 2 ----
repl f1(x) with lines 1 ____

Style de grille de fond

set grid 7	Active l'affichage de la grille en jaune
set grid 0	Affichage de la grille en pointillés noirs
unset grid	Suppression de la grille (set nogrid dans l'ancienne syntaxe)

Charger / Enregistrer un fichier gnuplot

save "essai.plt"	Enregistre le fichier, le suffixe peut être quelconque, pourvu qu'il soit évocateur. (plt, gpt, gnp etc...) On peut indifféremment utiliser les guillements doubles " ou bien les guillemets simples ' dans la désignation des noms de fichiers.
load "essai.plt"	Charge et affiche immédiatement le graphe.

Exporter une image gnuplot dans OpenOffice.org

Les images produites par gnuplot apparaissent dans une fenêtre. On peut opérer une saisie d'écran mais cela nécessitera des retouches et le résultat n'aura pas forcément un bon rendu.
Si gnuplot n'envoie pas encore les images dans le presse-papier, il permet en revanche d'exporter les images et de les enregistrer sous plusieurs formats.

Par défaut, c'est le terminal graphique (écran) qui est utilisé.
Le retour dans ce format d'affichage se fait
- sous windows par set term windows
- sous linux par set term x11

Export en emf

Le format emf (enhanced metafile), proche du windows metafile, est celui qui donne la meilleure qualité d'image lors d'une insertion dans OOo

Après avoir mis au point votre graphe, la séquence des instructions est la suivante

set terminal emf color
set output "mongraphe.emf"
replot

Remarque : on peut préciser set terminal emf color solid si on ne veut que des traits pleins. On obtiendra alors une grille en traits continus (Cf graphe §11.1)

Insertion du fichier image dans OOoWriter

- basculer dans le traitement de texte OpenOffice.org Writer

- positionner le curseur à l'endroit souhaité

- Menu Insertion > Image > À partir d'un fichier

- Rechercher le fichier mongraphe.emf et valider l'insertion

Une fois l'image insérée, clic gauche , clic droit Ancrage > Comme caractère, afin d'assurer que l'image ne se promène pas sur la page.

dans le cas où, une fois ancrée comme caractère l'image ne serait pas au bon endroit, on peut la couper (Ctrl x) puis la coller (Ctrl v) à l'endroit désiré. L'ancrage comme caractère sera conservé.

Export vers d'autres formats

gnuplot gère de nombreux autres formats dont il est possible d'avoir la liste en tapant :

help terminal

Citons par exemple les formats suivants connus

Export en jpg et en ps

L'export ne se fera en orientation portrait que si on le précise.
set terminal postscript portrait color
set output "mongraphe.jpg"	ou bien set output "mongraphe.ps"
replot	
set term post	Est également une abréviation possible (paysage)

Export en eps

set terminal eps color	Exporte en orientation paysage, par défaut
set output "mongraphe.eps"	
replot	

Export en dxf

Le format dxf est celui utilisé par Autocad.

set terminal dxf
set output "mongraphe.dxf"
replot

Les graphes 2D

En coordonnées cartésiennes

C'est le mode par défaut. La variable indépendante " dummy variable " est x. Pour insérer plusieurs courbes dans le même repère, on peut soit séparer leurs expressions par des virgules, soit enchaîner l'instruction replot. set grid set xrange [-2:2] plot sin(x) replot cos(x) replot 0.6 replot x**2	
On constate que l'intervalle sur y sera automatiquement ajusté après la dernière instruction, pour que toutes les courbes prennent place sur le graphe. Attention : replot ne permet pas de personnnaliser l'intervalle sur x (voir fonctions définies par intervalles) mais il est permis d'affecter à chacune des courbes, des attributs lt (couleur) et lw (épaisseur) différents, en bout de ligne plot.

En coordonnées polaires

L'unité d'angles par défaut est le radian. Le passage en degrés se fait par set angles degrees, et le retour en radians par set angles radians.

set polar set autoscale set grid 2 Mise en mode coodonnées polaires r = f (t) en radians par défaut Réglages automatiques sur x et y Grille verte set trange [-2*pi:2*pi] La variable indépendante est t, dont on fixe l'intervalle de variation. (par défaut ) plot t Affichera la portion de spirale d'équation r = t set size square Permet d'avoir des cercles non déformés à l'écran. unset polar Revient de polaires au système de coordonnées précédents.	Remarquer que c'est | t | qui est représenté.

Autre exemple

set polar set grid polar plot 1+sin(5*t)	Remarquer l'instruction set grid polar qui met en place la grille r = constante t = constante	

En coordonnées paramétriques

set parametric	En 2D la variable indépendante est t En 3D les variables indépendantes sont u et v
unset parametric	Quitte les coordonnées paramétriques et revient au système de coordonnées précédent.
set parametric set grid 3 plot sin (3*t),cos(t) Procédure d'export (exposée au § 9) set term emf set out "lissajou.emf" replot	

Tracé d'une fonction implicite f (x ; y) = 0

f(x,y)=y-x**2/tan(y) unset surface splot [-5:5] [-5:5] f(x,y) set contour base set cntrparam level discrete 0.0 Une fois l'image tracée, on peut utiliser les flêches du pavé numérique pour la faire pivoter dans l'espace.	

Fonctions définies par intervalles

gnuplot contient des instructions capables d'opérer des définitions de fonctions sur des intervalles. prenons par exemple la fonction définie sur [-5 :5] par x < -2 => f(x) = 4x -4 -2< x < 2 => f(x) = x² x > 2 => La syntaxe de définition sera la suivante set grid 2 set xrange [-5:5] set yrange [-1:16] f(x)=(x<-2)?-4*x-4:x<2?x**2:4*sqrt(2*x-3) plot f(x)	

Les graphes 3D

Les variables indépendantes sont x et y et l'instruction de tracé est splot.

Exemples

splot 1/((x**2+y**2)+1) On voit qu'en l'absence d'indication, le nombre de traits est fixé à 10.	
set xrange [-3 : 3] set yrange [-3 : 3] set isosamples 50 impose 50 lignes sur x et y set hidden3d cache les lignes en arrière plan splot exp(-x**2-y**2)	
set isosample 50 set hidden3d set grid unset contour splot sin(srqt(x**2+y**2)) Les portions en vert correspondent aux faces inférieures des nappes.	
set xrange [0:50] set yrange [0:50] set isosample 50 set hidden3d splot sqrt(1250-(x-25)**2-(y-25)**2)	

Options graphiques

set isosamples 50,20	50 lignes sur x, 20 lignes sur y. Les valeurs par défaut, sont 10,10
set contour base	Trace les lignes de contour le long de la base du diagramme
set contour surface	Trace les lignes du long de la surface 3d.
set contour both	Trace les deux sortes de lignes
unset contour	Ne trace aucune ligne de contour
set hidden3d	Cache les lignes en arrière plan. (Incompatible avec set contour surface)

Systèmes de coordonnées

set mapping cartesian	Coordonnées cartésiennes (par défaut)
set mapping spherical	Coordonnées sphériques
set mapping cylindrical	Cordonnées cylindriques
help mapping	Affiche une aide complète sur ces options.

Représentation graphique de fichiers de données

Contraintes de format du fichier de données

- Le fichier est en format texte, suffixe au choix .dat .lst etc...

- Les colonnes de données sont séparées par un espace	La première colonne porte le numéro 1

- Les séries sont séparées par deux lignes vides	La première série s'appelle index 0

- Les lignes commentées commencent par #

plot "mesures1.dat" using 4:3	Représente les données de la première série du fichier mesures1.dat en prenant la 4è colonne pour abscisses et la 3è colonne pour ordonnées.
plot "mesur1.dat" using 1:2 with lines, "fich.dat " using 1:3 with lines
permet d'afficher sur le même graphe des données provenant de fichiers différents
plot "releve1.dat" index 1 using 1:3 with impulses
trace la 2è série du fichier sous forme de bâtons (on peut abréger with impulses en w i)
gnuplot permet également d'opérer des combinaisons sur les colonnes de données du fichier. On peut ainsi représenter la somme des colonnes 1 et 3 en fonction du carré de la colonne 2
plot 'monfichier.plt' using (($2)**2):($1+$3)

Calcul d'expressions

print sin(2)	L'instruction print provoque l'affichage de la valeur
print pi	le nombre de décimales par défaut est de 14

Déclaration de variables et de fonctions.

w = 2	affectation de valeur à une variable
q = sin(w/2)	expression d'une variable en fonction d'une autre
dist(x,y) = sqrt (x**2 + y**2) Définit la fonction distance entre O (0 ; 0) et M (x ; y)
splot dist(x,y)	et en trace la représentation.
monabs(x)=(x>0)?x:-x	Définit ma fonction valeur absolue. si x > 0, elle vaut x sinon elle vaut -x
	Syntaxe générale : (condition)?expression si condition vraie : expression si fausse
c1 = 3	Attention aux minuscules / majuscules c1 est différent de C1
c2 = 4	
plot c1*x	Trace la fonction
replot c2*x	Trace l'autre fonction sur le même repère

Quelques autres options

Auto-complétion : De façon générale, toute instruction incomplètement entrée sera prise en compte.

Exemple : sample à la place de samples, ou bien set term à la place de set terminal.

set|unset samples 400	Permet de calculer 400 points pour la courbe (100 par défaut)
set zero 1e-12	Par défaut, tout nombre de valeur absolue inférieure à 1e-08 est considéré comme nul.
set polar	Active | Désactive le mode coordonnées polaires . La désactivation provoque le retour au système de coordonnées précédentes.
set key	Active | Désactive l'affichage de l'expression de la fonction dans le graphe.
set logscale y	Active l'utilisation d'échelles log sur l'axe y
show xrange	Montre l'actuel intervalle d'étude de x
test	Produit l'affichage à l'écran ou au terminal concerné, de tous les traits et trames qu'il est capable de supporter

Syntaxe détaillée	Syntaxe abrégée
xrange [-3:3]	plot [-3:3] [-1:5] sin(2*x),exp(-(x**2))
yrange [-1 :5]	
plot sin(2*x)	
replot exp(-(x**2)	

Interactions avec le système d'exploitation

Qu'on travaille sous dos, windows ou linux, gnuplot permet de traiter des ordres sans sortir du programme. Le point d'exclamation sert de déclarateur. Plusieurs instructions peuvent figurer sur la même ligne. Prévoir les demandes de confirmation que gnuplot ne saurait pas gérer.

Fonction	Syntaxe dos	Syntaxe linux (bash)
Dans quel répertoire suis-je ?		! pwd
Aller dans le répertoire docs	! cd docs	! cd docs
Afficher la liste des fichiers danas le répertoire docs	! dir	! ls
Effacer le fichier fich.plt	! del fich.plt	! rm -f fich.plt

Touches interactives

Depuis la version 4, gnuplot permet d'agir directement sur l'image affichée au moyen de touches qui fonctionnent en bascule. La fenêtre graphique doit être active

a	Autoscale y , permet de rattraper rapidement un mauvais yrange.

b	Bordure

e	Replot (efface tous les points précédents)

r	Ruler (règle en croix centrée sur le curseur)

l	Logscale y

L	Passe en log l'axe le plus proche du curseur

q	quit

g	grille

h	help (liste des touches interactives)

m	Affiche les coordonnées de la souris

et autorise la définition d'une fenêtre de zoom en maintenant le clic droit et en balayant.

Pour en savoir plus ...

Le premier des réflexes doit être de consulter l'aide intégrée de gnuplot.

help donne accès à l'aide générale. On peut également avoir accès à une aide plus thématique.

Par exemple, help linestyle donne accès aux options concernant les styles de ligne.

Sur Internet, on trouvera quantité de guides plus ou moins complexes ayant trait à l'utilisation de gnuplot. Attention à la syntaxe qui a évolué au passage à la version 4 (avril 2004).

Il est également possible d'obtenir les dernières versions de gnuplot aux adresses ftp://ftp.gnuplot.vt.edu/pub/gnuplot/ et http://www.gnuplot.info/index.html

Pour obtenir la dernière version de gnuplot tournant sous windows, on peut taper wgnuplot.exe dans la fenêtre de recherche de Google.

Il existe également une macro "gnuploooter" développée en libre (gpl V2) par D. Coulette : satori@evhr.net . Le lancement de cette macro ouvre une fenêtre de dialogue OpenOffice. On entre le code gnuplot dans cette fenêtre. On valide et l'image gnuplot produite est alors directement insérée dans le document.

___________

Introduction à gnuplot 4 pour Windows et Linux Page 8 sur 11

frederic.diaz@ac-besancon.fr édition du 17 juin 2005 Document sous licence libre FDL Page 8 / 11

2005-05-06T17:16:36