Академический Документы
Профессиональный Документы
Культура Документы
Gnuplot
1.
2.
2.1
#
#
#
#
Avis
aux curieux :
Une aide en ligne est disponible
depuis le shell : /home3/p02/p02areuh>man gnuplot # pour tout savoir sur gnuplot
depuis gnuplot: gnuplot>help
# id.
depuis gnuplot: gnuplot>?plot
# pour tout savoir sur lordre plot
La troisime solution permet daccder directement la description dune commande ou
dune option dont on connat (ou crot connatre) le nom.
2.2
aux paresseux :
Dans une session gnuplot, on peut excuter une commande unix :
gnuplot>!emacs slurp.f90 # on dite le fichier slurp.f90 comme si on tait dans le shell,
# point nest besoin de fermer la session gnuplot.
2.3
3.
Dfinition :
Trac 2D = trac ncessitant des donnes {(xi,yi)}, plus dventuelles incertitudes.
Trac 3D = trac ncessitant des donnes {(xi,yi,zi)}.
(corollaire : un trac de lignes de niveau est un trac 3D)
4.
Fichier de donnes :
Bien noter quun fichier de donnes ne doit pas, en gnral, contenir lensemble des
points calculs. En effet, pour obtenir une prcision donne on est souvent oblig
deffectuer un grand nombre de calculs. Compte-tenu de la rsolution de limprimante,
il serait ridicule (et coteux en espace-mmoire) de les imprimer tous !
Chaque ligne est appele enregistrement . Il sagit dun ensemble de N nombres spars
par une ou plusieurs espaces.
N nest limit que par la mmoire disponible. On peut sans problme utiliser des
enregistrements de quelques dizaines de colonnes, voire normment plus.
Ne pas abuser !
Chaque nombre est crit naturellement :
par exemple -1200.6
ou en utilisant la notation exposant :
par exemple -1.2006e3
Toute ligne du fichier commenant par le caractre # est ignore par gnuplot, cest une
ligne de commentaire.
Gnuplot
0.0000000E+00
1.000000
2.000000
3.000000
4.000000
5.000000
0.0000000E+00
0.9852516
4.185222
8.851819
16.47338
24.61261
0.1000000E+00
5.0000001E-02
0.2000000
0.4500000
0.8000000
1.250000
0.0000000E+00
1.033661
4.275208
9.763114
17.08233
26.89037
# 2eme bloc
6.000000
7.000000
8.000000
9.000000
10.00000
11.00000
34.52370
49.98479
62.72112
84.30634
95.40314
121.7117
1.800000
2.450000
3.200000
4.050000
5.000000
6.050000
38.84992
51.32557
58.36615
74.61319
91.87270
131.5402
0.1000000E+00
0.1000000
0.2000000
0.3000000
0.4000000
0.5000000
# ligne blanche
# ligne blanche
0.6000000
0.7000000
0.8000000
0.9000000
1.000000
1.100000
Exemple de fichier 3D :
# fichier splash.res
# des rsultats donns dans lordre : xi, yi, z1,i, z2,i
# (ce qui correspond deux nuages de points ou deux surfaces)
# un maillage de la portion rectangulaire [ 2 , 2 ] [ 2 , 2 ] du plan (x,y) est utilis
# chaque squence correspond aux valeurs de z, pour x fix et pour lensemble des
valeurs possibles de y.
# Une ligne blanche spare une squence de la suivante
-9.42
-9.42
-9.42
0.00
-9.42
-9.05 -12.76
31.39
-9.42
-8.67 -15.36
55.94
-9.42
-8.29 -16.93
70.73
-9.42
-7.92 -17.33
74.47
.............................
.............................
.............................
7.54
7.92
8.29
8.67
9.05
-16.60
-17.33
-16.93
-15.36
-12.76
Gnuplot
67.58
74.47
70.73
55.94
31.39
# ligne blanche
-9.05
-9.42 -12.52
31.39
-9.05
-9.05 -15.24
56.04
-9.05
-8.67 -16.89
70.99
-9.05
-8.29 -17.33
74.89
-9.05
-7.92 -16.58
68.12
.............................
.............................
.............................
-9.05
7.54 -16.57
68.08
-9.05
7.92 -16.21
64.81
-9.05
8.29 -14.73
51.37
-9.05
8.67 -12.24
28.88
-9.05
9.05
-9.05
0.00
# ligne blanche
.............................
.............................
.............................
# ligne blanche
.............................
.............................
.............................
5.
5.1
gnuplot>splot splash.res #
#
#
#
#
#
#
#
140
humph.res
jp3d.dat
120
100
20
15
10
5
0
-5
-10
-15
-20
80
60
40
-10
20
-8
-6
-4
-2
10
-8
-10
-6
-4
-2
10
0
0
10
12
5.2
Gnuplot
Exemples :
gnuplot>plot [0:5] [0:30] humph.res index 0 using 1:4
# trois options utilises :
# [0:5] : porte des abscisses, [0:30] : porte des ordonnes,
# index 0 : trac des seuls points de la 1e squence,
# (dsol, la 1ere porte le n 0)
# using 1:4 : trac de la colonne 4 en fonction de la 1.
gnuplot>splot splash.res using 1:2:4
# les trois options prcdentes sont encore possibles.
# on impose simplement le trac des points correspondants aux colonnes 1,2,4.
30
humph.res index 0 u 1:4
jp3d.dat u 1:2:4
25
80
60
40
20
0
-20
-40
-60
-80
20
15
10
-10
-8
-6
-4
-2
10
-8
-10
-6
-4
-2
10
0
0
6.
Attributs graphiques
6.1
Cela concerne
la prsentation gnrale
les tracs
6.2
La prsentation gnrale
F A peu prs tout est prvu par dfaut. Pour changer un aspect particulier ou en introduire
un nouveau, on doit excuter une commande du type :
gnuplot>set machin paramtres_ventuels
Tous les graphes excuts par la suite au cours de la mme session gnuplot seront pars du
nouvel attribut.
Si on souhaite en annuler leffet ou supprimer lattribut par dfaut, il faut taper :
gnuplot>set nomachin
F Quelques exemples utiles.
gnuplot>set title joli graphe # place le titre entre apostrophes au-dessus du graphe
gnuplot>set xlabel vla x
# place le label entre apostrophes (vla x) contre laxe des x
gnuplot>set ylabel vla y
# place le label entre apostrophes (vla y) contre laxe des y
gnuplot>set zlabel epi z
# place le label entre apostrophes (epi z) contre laxe des z
gnuplot>set key 11.3,7.8
# pour faire figurer la lgende la position 11.3,7.8
# (une 3eme coordonne est possible pour un trac 3D)
gnuplot>set xrange [-1.5:7] # impose les valeurs extrmes de labscisse
gnuplot>set yrange [-pi:pi] # id. pour lordonne
gnuplot>set zrange [0:5.]
# id. pour la cte
gnuplot>set hidden3d
# masque les faces caches dun dessin 3D fil de fer
F En pratique :
commencer par un trac avec les attributs par dfaut,
oprer ventuellement des transformations du fichier de donnes,
introduire avec modration les nouveaux attributs,
en parer le trac final grce lorde : gnuplot>replot
F Retour la case dpart :
On peut revenir aux options par dfaut grce la commande : gnuplot>reset.
Gnuplot
Les tracs
Tout est prvu par dfaut. On peut malgr tout souhaiter jouer modrment sur le
style des diffrents composants dun graphe.
F On a la possibilit, comme pour la prsentation gnrale, dintroduire des ordres du type
set truc. Consulter ce sujet laide en ligne.
F On peut prciser, dans chaque commande de trac, un style gnral. Voici les plus
courants :
gnuplot>plot humph.res with points # en fait, style par dfaut
gnuplot>plot humph.res with lines # chaque point reli au suivant par un segment
gnuplot>plot humph.res u 1:4:5 with errorbars
# colonne 4 fonction de colonne 1
# barre dincertitude (1/2 long. en colonne 5)
140
140
humph.res
humph.res u 1:4:5
120
120
100
100
80
80
60
60
40
40
20
20
-20
0
10
12
10
12
20
15
10
5
0
-5
-10
-15
-20
-10
-8
-6
-4
-2
10
-8
-10
-6
-4
-2
10
Gnuplot
140
140
humph.res
humph.res
120
120
100
100
80
80
60
60
40
40
20
20
0
0
7.
10
12
10
12
Fichier de commandes
Lintroduction de styles et de leurs attributs peut augmenter considrablement le nombre de
commandes. Les introduire chaque session provoque chez certains une saine allergie.
Il existe un remde !
laide de votre diteur prfr, crez un fichier, par exemple splash.com dans lequel vous
introduirez la squence une par ligne de commandes gnuplot correspondant au trac
embelli de la surface correspondant au fichier splash.res.
Quittez lditeur
Activez gnuplot puis lancez lexcution des commandes contenues dans splash.res :
gnuplot>load splash.com
8.
9.
20
40
60
80
100
120
140
Trac de fonctions
Gnuplot
1
12*(2-2*cos(x)-x*sin(x))/x**4
sin(x)*sin(y)
0.9
0.8
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0.7
0.6
0.5
0.4
10
5
0.3
0
0.2
0.2
0
0.4
0.6
-5
0.8
-10
0.1
0
Remarque.
Chacune de ces paires de commandes peut tre ramene une seule.
Exemple : gnuplot>splot [0:1] [-10:10] sin(x)sin(y)
18
16
14
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
12
10
8
6
4
-1
-0.8 -0.6
-0.4 -0.2
0.2 0.4
0.6 0.8
-1
0
-0.2
-0.4
-0.6
-0.8
1
0.8
0.6
0.4
0.2
0
0
0.5
1.5
2.5
3.5
4.5
Remarques.
Des portes peuvent tre imposes, mais elles concernent cette fois le(s) paramtre(s).
Tout trac ultrieur dune fonction en reprsentation cartsienne doit tre prcd par une
sortie du mode parametric (set noparametric).
Gnuplot
1
1/t
0.8
0.6
0.4
0.2
0.2
0.4
0.5
0.5
1.5
2.5
Remarques
Des portes peuvent tre imposes, elles concernent langle t, x et y.
Tout trac ultrieur dune fonction en reprsentation cartsienne doit tre prcd par une
sortie du mode polar (set nopolar)
10
Gnuplot
jp3d.dat u 1:2:($3-100)
jp3d.dat u 1:2:4
-300+100*besj0(1/x/y)
100
50
0
-50
-100
-150
-200
-250
-300
-350
-10
11
-8
-6
-4
-2
10
-8
-10
-6
-4
-2
10
#
#
gnuplot>set cntrparam levels 15 #
gnuplot>set nosurface
#
gnuplot>set view 0.,0.
#
gnuplot>splot splash.res w l #
12
10
8
15
10
5
0
-5
-10
-15
humph.res u 1:2:3
a*x**2+b*x+c
120
100
6
4
80
2
0
60
-2
-4
40
-6
-8
-10
-8
-6
-4
-2
10
20
-10
0
-20
0
10
12
Remarques :
FLorsquon ne se rfre qu deux colonnes (ex. u 1:4) on ralise un fit non pondr.
FOn peut concatner les lignes de commande en une seule :
gnuplot>fit ax2+bx+c humph.res u 1:4:5 via a,b,c
FLe fit peut tre non linaire (par ex. (a+bx2)exp(cx2))
FOn peut tracer les donnes et le fit obtenu en une seule commande :
gnuplot>plot ax2+bx+c, humph.res u 1:4:5 w errorbars
13
Mettre de lanimation
Supposons quune grandeur y soit fonction de deux autres x et a. Il est souvent intressant
de reprsenter, pour a fix, les variations de y en fonction de x mais aussi de suivre
lvolution du graphe associ lorsque a varie. Par exemple on peut souhaiter suivre
Gnuplot
14
Quelques plus
10
Gnuplot
Remarques :
F yz peut tre remplac par toute combinaison de x, y et z, e par tout nombre (positif).
Cest, bien sur et en premier lieu, utilisable pour un trac 2D.
F Attention, on ne peut user dune chelle logarithmique sur un axe, disons des x, qu la
condition que les extrmits de la porte soient strictement positifs (logarithme oblige !)
11