soft


numeric



Une (très !) courte introduction à GNUPlot

Qu'est-ce GNUPlot ?

GNUPlot est un logiciel qui permet de tracer des graphes.
Il est très fortement configurable.

GNUPlot pour qui ?

GNUPlot s'adresse d'abord aux scientifiques qui souhaitent tracer des courbes, surfaces,...
Il est donc tout à fait utile que les enseignants de
- Mathématiques,
- Sciences-Physiques,
- Sciences et Vie de la Terre
soient capable de l'utiliser.

Quelques photos d'écran...







Comment ça marche ?

GNUPlot possède une interface "minimaliste" mais néamoins fort puissante.
Avec GNUPlot, tout se passe non pas avec une interface graphique mais en mode texte...
Il me semble que la meilleure façon d'apprendre GNUPlot est de regarder des exemples.
Si vous voulez en connaitre davantage, il faut alors lire la documentation.

Quelques exemples pour comprendre...

Tracer une fonction y = f(x)

exemple : tracer la fonction sinus

plot sin(x)




Tracer une courbe paramétrée du plan

exemple : tracer un cercle à l'aide de son équation paramétrique
- x(t) = cos(t)
- y(t) = sin(t)

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





Tracer une courbe polaire du plan

exemple : tracer une spirale à l'aide de son équation polaire

set polar
plot t





Tracer une surface z=f(x,y) en 3D

exemple : tracer un plan à l'aide de son équation cartésienne
z(x,y) = x+y

splot x+y




Tracer une trajectoire en 3D

exemple : tracer une hélice
(mouvement de rotation combiné à un mouvement de translation)
- x(t) = sin(t)
- y(t) = cos(t)
- z(t) = t

set parametric
splot sin(u),cos(u),u





Tracer une surface en 3D

exemple : tracer d'une sphère

set parametric
splot cos(u)*cos(v),cos(u)*sin(v),sin(u)





Tracer un diagramme de Bode





https://openphysic.googlecode.com/svn/trunk/gnuplot/physic/bode/bode_arg/main.gp



Quelques informations supplémentaires


Mode calculatrice

GNUPlot sert aussi de calculatrice.
Essayez par exemple :

print 1+2





Multiplication implicite

La multiplication implicite est interdite avec GNUPlot.
Ainsi on n'écrira pas 2x
il faut écrire 2*x

Puissances

x^2 est interdit il faut écrire x**2

Complexes

GNUPlot gère très bien les nombres complexes.

{0,1}
par exemple représente le nombre i.

{1,2}
représente le nombre 1+2i.

On peut avec GNUPlot calculer le module, l'argument

abs({1,2})
arg({1,2})

Range

On peut modifier le "zoom" en x, en y, en z ou en t.
set xrange [0:1]
set yrange [0:1] ou set autoscale y
...
On peut modifier les graduations avec :
set xtics 0.05

Habillage


Nom des axes et du graphique

set xlabel "nom de l'axe x"
set ylabel "nom de l'axe y"
set title "nom du graphique"

Si on veut afficher les axes des ordonnées ou des abscisses on utilise la commande
set zeroaxis
Le résultat n'est pas aussi satifaisant qu'on le souhaiterait.
Je vous conseille de regarder du côté de LaTeX et PSTricks.

Bordure

On peut choisir de mettre une bordure set border.
ou chosir de l'enlever unset border.

Grille

On peut choisir de mettre une grille set grid
ou chosir de l'enlever unset grid.

Légende

Pour afficher un légende lors du tracé de plusieurs courbes set key
unset key permet de l'enlever.


Etiquette

On peut placer une étiquette où l'on veut avec
set label "Etiquette" at 20,30

Pause

pause -1

Export vers un fichier

Export en PostScript

set term postscript portrait
set output "main.ps"
set size 1, 1
replot


Export en PNG

set term png
set output "main.png"



Données

On peut également tracer avec GNUPlot des données expérimentales.

Données externes

On crée un fichier main.dat qui contient les données suivantes :


-4 16
-3 9
-2 4
-1 1.5
0 0
1 1.5
2 4
3 9
4 16


On lance dans GNUPlot la commande suivante (on on place cette commande dans un fichier .gp ou .gnu):


plot 'main.dat' using 1:2,x**2

using 1:2 sert à choisir les colonnes pour le tracé

Données internes

On peut aussi directement taper les données et la commande pour tracer dans le même fichier :


plot '-',x**2
-4 16
-3 9
-2 4
-1 1
0 0
1 1
2 4
3 9
4 16
E


Regression

On peut réaliser une régression quelconque (y compris bien sûr une regression linéaire).

f(x) = a*x**2 + b*x + c
fit f(x) 'main.dat' using 1:2 via a, b, c
plot 'main.dat' using 1:2,f(x)


Charger / sauver un fichier de commandes GNUPlot

load "nom_du_fichier.gp"
save "nom_du_fichier.gp"

D'autres exemples

Obtenir le code source

Accès web
https://openphysic.googlecode.com/svn/trunk/gnuplot

Accès anonyme
svn checkout https://openphysic.googlecode.com/svn/trunk/gnuplot

Accès développeur
svn checkout --username mon_email@gmail.com https://openphysic.googlecode.com/svn/trunk/gnuplot

Liens

Site officiel de GNUPlot
Quelques exemples du site officiel
Manuel de Ofset Freeduc sur GNUPlot
GNUPlot tips (not so Frequently Asked Questions)
http://www.cs.uni.edu/Help/gnuplot/
http://www.duke.edu/~hpgavin/gnuplot.html
http://www.info.univ-angers.fr/pub/gh/tuteurs/tutgnuplot.htm
http://web.cs.uni.edu/Help/gnuplot/
http://www.gnuplot.info/faq/faq.html
http://astro.ensc-rennes.fr/tp/notice_GNUplot.pdf
http://www.guilde.asso.fr/gt/education/traductions/gnuplot-fr.html (Traduction en français de l'aide officielle)

comp.graphics.apps.gnuplot
http://groups.google.com/group/comp.graphics.apps.gnuplot


Voila, je pense que vous connaissez maintenant le minimum vital de GNUPlot,
il faut maintenant passer à la pratique, sans oublier de consulter la documentation.

Il existe aussi la commande help ou help la_commande.

Vous pouvez aussi regarder les exemples dans /usr/share/doc/gnuplot-doc/examples
$ cd /usr/share/doc/gnuplot-doc/examples
$ gnuplot
gnuplot> load "all.dem"

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki