Gnuplot : grapher des données facilement

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
Gnuplot

1 Introduction

Gnuplot est un programme souple qui peut produire des représentations graphiques en deux ou trois dimensions de fonctions numériques ou de données. Le programme fonctionne sur tous les ordinateurs et systèmes d'exploitation principaux 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.

2 Installation

2.1 Debian

Sur debian, voici comment on l'installe :

Command aptitude
aptitude install gnuplot

2.2 Red Hat

Sur Red Hat, voici comment installer gnuplot :

Command yum
yum install gnuplot

3 Utilisation

Nous allons devoir stocker nos informations quelque part :

Configuration File ~/gnuplot_datas/load_average.sh
for i in {1..3600} ; do
   uptime | awk '{ print $1, $(NF-2), $(NF-1), $NF}' | tr -d ',' >> ~/gnuplot_datas/load_average.datas
   sleep 1
done

Exécutez le script. Il va tourner toutes les secondes et y stocker la date avec le load average pendant 1 heure. Nous allons donc avoir un fichier de data que nous allons pouvoir ressortir en graphique avec gnuplot. Nous allons créer un fichier de configuration pour Gnuplot :

Configuration File ~/gnuplot_datas/load_average.gplot
set term png crop
set output '~/gnuplot_datas/load_average.png'
set xdata time
set timefmt '%H:%M:%S'
set xlabel 'Time'
set ylabel ' 1 second load average'
set yrange [0:]
plot '~/gnuplot_datas/load_average.data' using 1:2 with lines

Je ne vais pas expliquer chacune des lignes, car elles me semblent assez explicites. Maintenant nous pouvons générer un graphique avec Gnuplot :

Command gnuplot
gnuplot -persist ~/gnuplot_datas/load_average.gplot

Cela va nous donner un graphique de ce type :

Gnuplot.png

Vous pouvez trouver pleins d'exemples sur le site officiel de Gnuplot.