exit : pour quitter gnuplot
clear : pour tout effacer
reset : efface les options passées par set
load 'fichier.gnu' : permet de lancer un fichier contenant des commandes gnuplot
gnuplot fichier.gnu : idem
save "fichier.gnu" : sauve les options passées par set et le dernier plot dans un fichier de commandes
replot : retracer
cd : pour changer de répertoire
pwd : pour voir le répertoire courant
?nom_commande : aller à l'aide correspondante
!commande_unix : utiliser une commande unix dans gnuplot
set title "Titre"
Titre des axes :
set xlabel "XX"
set ylabel "YY"
set time : afficher l'heure
set yrange [y1:y2]
set xtics 2 : axe des x gradué de 2 en 2
set ytics 0,2 : axe des y gradué de 2 en 2 à partir de 0 (ne fonctionne qu'avec y)
set m{x|y}tics n : défini la graduation mineure suivant x ou y en découpant l'intervale en n parties
set xtics ("April" 1, "May" 2, "June" 3, "July" 4) : permet de personnaliser les étiquettes d'axes -> affiche April pour x=1
Exemple : réalisation d'une courbe granulométrique
set title "Echantillons sable de Loire" set xlabel "tamis" set grid set xtics ("0.63" 0.63, "1.00" 1, "1.25" 1.25, "2.00" 2,"2.50" 2.5,"3.25" 3.25,"4.00" 4,"5.00" 5) set ylabel "refus" plot "tamisage.dat" using 1:2 with lines, "tamisage.dat" using 1:3 with lines
set tics out : afficher les tics à l'extérieur
set format y "10^{%L}" : passer les étiquettes d'axes au format scientifique
set logscale y : passer en format logarithmique
set logscale y e : passer en format logarithmique en base e
set gridAffichage de la grille :
Réglage des axes :
set border n fixe les axes (An integer is assigned for each frame line, the bottom is 1, left 2, top 4, and right 8. The option n is the sum of those integers.)
utiliser avec set xtics nomirror et set ytics nomirror
Les marges sont calculées automatiquement par défaut, et parfois au plus juste. Pour régler les marges, modifier le paramètre {l|r|b|t}margin
set lmargin 20
Les polices sont déterminées par la commande font. Exemple :
set title "titre" font "Bold,20"
voir set locale "french"
set {x|y}data time
set timefmt "%d-%m-%Y" lit une date au format 12-11-2006
set format x "%b/%d" affiche sur le graphe feb/08
data | timefmt | comment |
---|---|---|
2004/4/6 | %Y/%m/%d | 2004/04/06 works well |
December/96 | %B/%y | warning if mis-spelled |
2004/Jan | %Y/%b | 3-letters abbreviation |
1970/240 | %Y/%j | "%j" is a day of the year (1-365) |
02:45:03 | %H:%M:%S | "%H", 24-hour |
1076909172 | %s | seconts since 1/1/1970 00:00 |
set term postscript
set term postscript eps color "times-roman,24" pour faire du postscript couleur en format horizontal.
set term png pour générer une image au format png
unset key : evite d'afficher la légende sur le graphe
set key box : encadrer le titre de la légende
\ permet d'écrire une commande sur plusieurs lignes
On peut écrire une commande avec juste le nombre de caractères minimal -> peu lisible w = with!! not = notitle
Caractères spéciaux : set title "S" font "Symbol,24" : sigma taille 24
Exposants _ et indices ^ (ne fonctionne qu'en "postscript enhanced")
set terminal postscript enhanced
set output "fig.ps"
pause -1 "Appuyez sur RETURN pour continuer" : permet de maintenir l'affichage en mode script
A partir d'une fonction plot sin(x)
set multiplot
plot sin(x)
plot cos(x)
plot 'fichier.dat' using 1:2 with linespoints pointsize 2 pointtype 4
Gnuplot accepte des formules sur les colonnes x et y du fichier de données, par exemple :
plot "fichier.dat" using 1:(sqrt($2))
ou
g(y)=log(y) #définition de la fonction g plot "fichier.dat" using (g($1)):2
plot "fichier.dat" using ($1*2):2
On peut également imposer des conditions sur les données avec l'opérateur ternaire ? : . Dans l'exemple $2 vaut 100 si $2>100, sinon $2.
plot "fichier.dat" using 1:($2<100 ? $2 : 100)
set yrange [-1:1]
set y2range [0:1]
plot sin(x) axis x1y1, sin(x)**2 axis x1y2
set style fill solid 0.25 border -1 : rempli les barres et met une bordure
set boxwidth 0.5 relative réduit de 50% la largeur des barres
plot 'fichier.dat' using 1:2 with boxes
Il est possible de tracer deux histogrammes côte à côte en décalant les abscisses :
set boxwidth 0.4 relative
plot 'data2.dat' using ($1-0.2):2 with boxes,'data1.dat' using ($1+0.2):2 with boxes
Régler le pb avec les dates en x
plot f(x) title "courbe1"
plot f(x) with {A} lt 0 lw 2 pt 5 ps 2 où A pouvant prendre les valeurs lines, linespoints, impulses, points, dots, boxes, steps, fsteps, histeps, errorbars, boxerrorbars, candlesticks,financebars ou vector ;
En format postscript, faire varier la valeur de lt pour changer les pointillés. En couleur, des valeurs sont donées dans le tableau suivant
numéro : | 0 | 1 | 2 | 3 | 4 | 6 | 9 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|
couleur : | pointillé | rouge | vert | bleu | violet | marron | gris | cyan | jaune | orange |
set multiplot plot x**3 set origin .4,0.05 set size .4,.4 plot x**2 unset multiplot
Gnuplot n'est pas prévu pour écrire des caractères accentués. De plus, le codage UTF-8 n'est pas connu par gnuplot. Donc, il faut se débrouiller autrement. D'abord, on crée un fichier en ISO-8859-1 avec iconv
iconv -f UTF-8 -t ISO-8859-1 plot.gnu > plotISO.gnu
Ensuite, on définit le codage dans gnuplot et ça marche.
set encoding iso_8859_1
Il est possible d'ajuster une courbe de tendance, c'est à dire de calculer les paramètres a b et c de la fonction f(x) choisie.
Ex :
lissage.gnu
f(x)=a*x**2+b*x+c #definition de la fonction fit fit f(x) 'data-fit' using 1:2:3 via a,b,c set xrange [0:11] plot f(x), 'data-fit'using 1:2:3 with errorbars pause -1 "touche entree pour sortir"Crée un fichier fit.log donnant les valeurs de a, b et c. data.fit contient x,y,errorbar
Il est possible d'utiliser awk dans la commande plot
plot ">awk '{x=x+$2; print $1,x}' file1.dat" with boxes : crée un histogramme des valeurs cumulées
plot ">awk '{print $1,($1<=3 && $1>=1) ? $2*5 : $2}' file1.dat" with lines : multiplie les valeurs Y par 5 si Y < 0.2