Gnuplot
|
|
Cet article ne cite pas suffisamment ses sources (septembre 2012).
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ». (Modifier l'article)
|
| Gnuplot | |
Représentation d'un ellipsoïde avec Gnuplot |
|
|
|
|
| Dernière version | 4.6.0 (13 mars 2012) [+/-] |
|---|---|
| Environnement | Multiplate-forme |
| Type | Dessin mathématique |
| Licence | Licence libre[1] non-compatible avec la GPL[2] |
| Site web | gnuplot.info |
| modifier |
|
Gnuplot est un logiciel qui sert à produire des représentations graphiques en deux ou trois dimensions de fonctions numériques ou de données. Le programme fonctionne sur de nombreux ordinateurs et systèmes d'exploitation (Linux, Windows, OS/2, VMS, ...) et peut envoyer les graphiques à l'écran ou dans des fichiers dans de nombreux formats. Gnuplot utilise également l'algorithme de Levenberg-Marquardt pour ajuster les paramètres d'une fonction numériques sur des données expérimentales.
Le programme est distribué sous une licence de logiciel libre qui permet de copier et de modifier le code source du programme. Les versions modifiées du programme ne peuvent être distribuées que sous forme de fichiers correctifs. Le programme n'a aucun raccordement avec le projet GNU et n'utilise pas la licence de copyleft GPL.
Le programme peut être utilisé interactivement, et est accompagné d'une aide en ligne. L'utilisateur entre en ligne de commande des instructions qui ont pour effet de produire un tracé. Il est aussi possible d'écrire des scripts gnuplot qui, lorsqu'ils sont exécutés, génèrent un graphique.
Gnuplot est utilisé comme moteur de traçage d'Octave et de Maxima.
Sommaire |
Périphérique de sortie[modifier]
Gnuplot fonctionne en interne en faisant abstraction du dispositif final de rendu. Ceci est implémenté via le concept de "terminal", que l'utilisateur peut spécifier par une commande.
Par défaut, et quelle que soit la plateforme, le rendu sera fait via une fenêtre utilisant la bibliothèque de fenêtrage standard du système d'exploitation et permettant une utilisation interactive à la souris (orientation de la vue pour les graphes en 3D notamment).
De nombreux terminaux sont disponibles (plus d'une trentaine) parmi lesquels Svg, Png, Postscript, Pdf, Jpeg, ... À noter que pour le format png, il en existe deux, png et pngcairo, ce dernier (utilisant la bibliothèque Cairo) étant de qualité supérieure. La liste complète dépend de la version et des options de compilation utilisée, et peut être obtenue via la commande "set terminal". On précisera le terminal souhaité via la commande
set terminal <nom-du-terminal>
On pourra préciser la taille du rendu (en pixels) en ajoutant une option "size", comme par exemple:
set terminal pngcairo size 640,480
D'autres options sont possibles, mais dépendent du type du type de terminal.
En cas de sortie dans un fichier, il faut spécifier pour chaque plot le nom du fichier voulu avec la commande "set output", comme par exemple:
set output "nom-fichier.png"
Exemple en ligne de commande[modifier]
gnuplot> set terminal png Terminal type set to 'png' Options are ' small color' gnuplot> set output "exemple1.png" gnuplot> plot [t=-4:4] sin(t)
Exemple de script gnuplot[modifier]
#définition de quelques variables xmin=-6. xmax=6. ymin=-4. ymax=4. xdec=0.25 ydec=0.25 pasx=1.0 pasy=1.0 #initialisation du terminal reset set term x11 unset autoscale set xr [xmin:xmax] set yr [ymin:ymax] #options unset border unset label unset xtics unset ytics set title "fonction tangente" #les axes set arrow 3 from xmin,0 to xmax,0,3 lt -1 lw 0.5 set arrow 4 from 0,ymin to 0,ymax,3 lt -1 lw 0.5 #l'origine set label "0" at xdec/2, -ydec set label "x" at xmax - pasx, -ydec set label "y" at -xdec, ymax - pasy/3 set label "1" at pasx, -ydec set label "1" at -3*xdec/2, pasy set label "-1" at -3*xdec/2, -pasy set arrow from 1, -ydec/2 to 1, ydec/2 nohead lt -1 set arrow from 1.57, -ydec/2 to 1.57, ydec/2 nohead lt -1 set label "\34/2" at 1.57, -ydec center set arrow from -1.57, -ydec/2 to -1.57, ydec/2 nohead lt -1 set label "-\34/2" at -1.57, -ydec center set arrow from 3.1415, -ydec/2 to 3.1415, ydec/2 nohead lt -1 set label "\34" at 3.1415, -ydec center set arrow from -3.1415, -ydec/2 to -3.1415, ydec/2 nohead lt -1 set label "-\34" at -3.1415, -ydec center set arrow from 0, 0 to pasx, pasx lt 1 set arrow from 0, 0 to -pasx, -pasx lt 1 set arrow from -xdec/3, 1 to xdec/3, 1 nohead lt -1 set arrow from -xdec/3, -1 to xdec/3, -1 nohead lt -1 set arrow from -1.57, ymax to -1.57, ymin nohead lt 0 set arrow from 1.57, ymax to 1.57, ymin nohead lt 0 plot tan(x) title "tan" w l lt 3 lw 2 pause -1 "maintenant va créer un fichier au format png appuyer sur entrée" set term png set out "exemple2.png" rep set out set term x11 pause -1 "touche entrée pour sortir"
Pour exécuter le script :
gnuplot> load 'exemple2.dat'
Liens externes[modifier]
- (en) Site officiel : Contient des liens à la FAQ et vers les points de téléchargement
- (en) Not so frequently asked questions : tutoriel sur le site du LANL
Notes et références[modifier]
- Le texte de la licence
- "Gnuplot is freeware in the sense that you don't have to pay for it. However it is not freeware in the sense that you would be allowed to distribute a modified version of your gnuplot freely."[1]

