La passion du libre

Débuter avec gnuplot

Cliquez sur le bouton pour afficher les conseils de lecture.Cliquez à nouveau pour les masquer

Fenêtres surgissantes explicatives

Certains mots dans le texte, affichés en vert et en gras, sont précédés d'une étoile verte sur fond orange. Par exemple, ce mot : lien.

Si vous placez le pointeur de la souris sur un tel mot, une fenêtre surgissante – popup – s'ouvre alors que l'affichage du reste du documment s'atténue. Cette fenêtre contient une explication détaillée du mot en question

Une fois que vous avez pris connaissance de ce que vous affiche cette fenêtre surgissante, vous pouvez retourner à l'état normal en cliquant ailleurs dans le document.

Navigation

Pour naviguer, utilisez le menu vertical à gauche du texte. Les entrées de menu marquées d'une petite flèche vers le bas ouvrent un sous-menu lorsqu'on clique dessus.

Vous pouvez également choisir une lecture continue en cliquant sur un des liens proposés en bas de page.

Graphiques en grappes (histogram clustered)

Ce sous-mode est obtenu à partir du mode histogram (voir page précédente) en saisissant la commande set style histogram clustered {gap <gapsize>} dans laquelle est l'espacement entre grappes de barres donné en nombre de barres.

Par défaut, après entrée dans le mode histogram, nous sommes dans le mode clustered gap 2

Une seule série de données

Dans ce mode une colonne à la fois peut être représentée. Par exemple la colonne 2 :

gnuplot> set style data histogram
gnuplot> set xrange[0:12]        
gnuplot> set yrange [0:10]       
gnuplot> plot "data.dat" u 2     
gnuplot> 

Capture-036

Plusieurs séries de données

Cela n'empêche cependant pas d'avoir deux tracés sur le même graphique :

gnuplot> set yrange[0:50]
gnuplot> plot "data.dat" u 2,\
>"data.dat" u 1       
gnuplot> 

Capture-037

On observera que :

  • sur le graphique à une seule série de données, les barres sont placées sur l'axe des x de 1 en 1 ;
  • sur le graphique à deux séries, que la deuxième série se décale sur la droite d'une largeur de barre.

Si nous augmentions le nombre de colonnes, et que nous cumulions les tracés pour ces différentes colonnes, nous aurions toujours un espacement de 2 largeurs de barre entre les grappes de barres mais que ces dernières deviendraient de plus en plus fines. L'introduction d'une largeur de boîte excessive avec la commande set boxwidth <size> conduirait les barres à se chevaucher.

Nous pouvons aussi remplir les barres de couleur et lui donner une bordure avec la commande set style fill solid border

gnuplot> set style fill solid border
gnuplot> plot "data.dat" u 1,\      
>"data.dat" u 2                  
gnuplot> 

Capture-038

Sans autre précision, les couleurs sont prises dans la suite de couleurs par défaut ou prédéfinies (voir Couleurs)

Utilisation d'une boucle d'itération

Dans ce mode, il n'est pas possible de spécifier plusieurs colonnes dans l'option using. Par contre, on peut répéter les commandes individuelles à l'aide de la boucle for :

gnuplot> plot for [col=1:3] "data.dat" u col title columnheader

Capture-040

Utilisation des entêtes de colonnes

Pour utiliser les entêtes de colonne dans la légende, il faut ajouter title colummheader à la commande plot, comme suit :

gnuplot> plot "data.dat" u 1 title columnheader
gnuplot> plot "data.dat" u 1 title columnheader,\
>"data.dat" u 2 title columnheader 
gnuplot> 

Capture-039

Utilisation des deux axes y

Lorsque les séries de données sont à des échelles très différentes, il est utile d'utiliser l'axe y2. Nous allons prendre un autre fichier de données pour l'illuster :

Pays      Population    Superficie  "PIB par habitant (2015)"
Chine     138           9596961     8069
Inde      133           3287263      1593
États-Unis 325          9826675     56115
Indonésie  262          1904569     3346
Brésil     207          8514877     8677
Pakistan   194           796095      1434
Nigéria    186           923768      2671
Bangladesh 160           143998      1211
Russie     146         17098242     9092
Japon      126           377915      34523
Mexique    122          1964315    9005
Philipines 102           300000     2904
Éthiopie   102          1104300     619
Vietnam     92           331000     2110
Égypte      91          1001450     3614
R. D. Congo 85           342000     456
Iran        82          1648195    191
Allemagne   82           357022      41178
Turquie     79           783562     9125
France      68           643801    36352
Royaume-Uni 65           243610     43929
Thaïlande   65       513120     5814

Puis nous saisissons les commandes suivantes :

gnuplot> set style data histogram
gnuplot> set style histogram clustered
gnuplot> set yrange[0:18000000]
gnuplot> set y2range [0:330]
gnuplot> set y2tics
gnuplot> set ylabel "Superficie (en km2)" font 'Arial Bold, 14' rotate by 90
gnuplot> set y2label "Population (en millions)" font 'Arial Bold,14' rotate by 90
gnuplot> set title "Les pays les plus étendus" font 'Arial Bold,26'                             
gnuplot> set xtics rotate out
gnuplot> plot "pays.dat" u 3:xticlabels(1) title "Superficie",\
>"pays.dat" u 2 axes x1y2 title "Population"           
gnuplot> 

Capture-041

Commentons ces commandes. Sur les deux premières lignes nous entrons dans le mode histogram puis dans le sous-mode clustered (en grappes). Ensuite nous définissons les échelles des axes y. La commande set y2tics permet de faire apparaitre la graduation sur l'axe y2 (à droite). Puis nous étiquetons les axes en tournant le texte. Nous donnons un titre au graphique. La commande set xtics rotate out indique de marquer l'axe x en tournant les étiquettes. Le premier élément de la commande plot ajoute xticlabels(1) à l'option using ce qui permet d'utiliser les textes de la colonne 1 en tant qu'étiquettes sur l'axe x. Nous ajoutons également les titres de légende title "Superficie et title "Population".

Largeur de colonne

Les colonnes sont par défaut d'une largeur calculée pour que la somme des colonnes plus le vide intermédiaire entre les grappes de colonnes fasse 1. Elles sont donc rigoureusement adjacente dans cette configuration par défaut. Il est possible de modifier cette largeur ce qui peut donner une certaine esthétique à cela. Nous traitons ce problème dans la page suivante consacrée au sous-mode errorbars.