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.

Grappes de colonnes empilées

Introduction

Nous avons vu les graphiques en grappes dans lesquels les barres étaient des valeurs simples d'un tableau. Nous allons maintenant voir comment traiter les grappes dans lesquelles les barres sont des empilages de valeurs des colonnes d'un tableau

Ce sera pour nous l'occasion de présenter de nouvelles commande telles que newhistogram et de nouvelles options.

Nous en profiterons également pour introduire notre premier script gunplot.

Démonstration

Fichier de données

Pour les besoins de la démonstration nous allons utiliser le tableau de données suivant (fichier ca2016.dat)  :

#"1er trimestre"
Article               "Nombre vendu\n(échelle de gauche)"          "Chiffre d'affaire (€)"        "Bénéfice"
"Article 1"             235                     243000                         53000
"Article 2"             67                      32000                          7865
"Article 3"             1023                    675987                        120345
"Article 4"             125                     66544                         13780
"Article 5"             876                    1234000                        333000


#"2e trimestre"
Article               "Nombre vendu"          "Chiffre d'affaire (€)"        "Bénéfice"
"Article 1"             435                     743000                        104000
"Article 2"             245                      135000                       27000
"Article 3"             450                    325000                         64876
"Article 4"             125                     66544                         13780
"Article 5"             870                    1205000                        289000


#"3e trimestre"
Article               "Nombre vendu"          "Chiffre d'affaire (€)"        "Bénéfice"
"Article 1"             523                     521000                        145807
"Article 2"             325                     190000                        42000
"Article 3"             607                    450000                         76870
"Article 4"             250                     130345                         27000
"Article 5"             800                    105060                        278000


#"4e trimestre"
Article               "Nombre vendu"          "Chiffre d'affaire (€)"        "Bénéfice"
"Article 1"             485                     812000                        134000
"Article 2"             240                      128000                       24500
"Article 3"             477                    378060                         75876
"Article 4"             125                     66544                         13780
"Article 5"             870                    1358000                        310000

Observation sur les données

On remarquera que les données sont groupées par jeux. Les jeux sont espacés de deux lignes vierges. Cela n'est pas fait au hasard, mais c'est absolument nécessaire si on veut pouvoir accéder à un jeu donné par le biais du mot clé index. On remarquera aussi la différence dans les plages de valeurs pour les nombres vendus et les chiffres d'affaire. Cela nous incitera à adopter une échelle spécifique pour la colonne « Nombre vendu".

Le script

Le script (clusters-of-columnstacks.gnu) correspond à la suite de commande que nous donnerions directement à l'invite de commande gnuplot>.

Voici son contenu avec force commentaires pour vous en faciliter la compréhension.

reset
set style data histogram
set style histogram columnstacked title  #décale le titre des histogrammes de 3 vers le bas
set bmargin 12 # on laisse de la place sous les histogrammes pour les titres et les xtics
set boxwidth 0.7 relative
set style fill solid 0.6 border
set title "Résultat des ventes en 2016" font 'Arial Bold, 18'
set xtics rotate by 90 offset 0,-11 # les tics sont déterminés par "title columnhead" dans les cdes plot

set key out autotitle
set yrange [0:3000] #étendue pour le nombre vendu 
set y2range [0:3000000] #étendue pour les chiffres d'affaire et les bénéfice (à droite)
set ylabel "Nombre d'articles vendus" font 'Arial Bold,12' rotate by 90
set y2label "Montant en euros" font 'Arial Bold,12' rotate by 90
set y2tics # affiche l'échelle des euros (à droite)

set style line 100 lt 2 lc rgb "blue" lw 1 # on définit un style de ligne pour la grille principale sur y1
set grid ytics ls 100 # on demande la grille principal de l'axe y

plot newhistogram "1er trimestre" font 'Arial Bold, 14'  lt 1,\
'ca2016.dat' index 0 u 2:key(1)  title columnhead,\
for [col=3:4] 'ca2016.dat' index 0 u col axes x1y2 title columnhead,\
newhistogram "2e trimestre" font 'Arial Bold, 14'  lt 1,\
'ca2016.dat' index 1 u 2  title columnhead,\
for [col=3:4] 'ca2016.dat' index 1 u col axes x1y2 title columnhead,\
newhistogram "3e trimestre" font 'Arial Bold, 14'  lt 1,\
'ca2016.dat' index 2 u 2  title columnhead,\
for [col=3:4] 'ca2016.dat' index 2 u col axes x1y2 title columnhead,\
newhistogram "4e trimestre" font 'Arial Bold, 14'  lt 1,\
'ca2016.dat' index 3 u 2  title columnhead,\
for [col=3:4] 'ca2016.dat' index 3 u col axes x1y2 title columnhead

Pour exécuter ce script nous saisissons la commande suivante à l'invite de gnuplot :

gunplot> load ""clusters-of-colummstacks.gnu"

Et voici le résultat :

Capture-051