Gnuplot, le grand-père des utilitaires de tracé (traduction)

Par yayel, le 13 mai 201317 commentaires

Ceci est une traduction de l'aricle "Gnuplot - the Grandfathe of Graphing Utilites" parru dans Linux Journal (18 février 2013) et écrit par Joey Bernard. Je reproduis donc les images telle que. J'ai également inséré des notes qui ne sont pas dans l'article de départ [entre crochets].

Dans ces colonnes, je dois couvrir plusieurs packages scientifiques différents pour faire du calcul dans différents domaines de recherche. J'ai aussi recherché plusieurs packages qui comportent une représentation graphique de ces calculs. Mais je n'avais jamais exploré gnuplot (http://www.gnuplot.info). Gnuplot existe depuis le milieu des années 80, ce qui en fait un des plus vieux traceur graphique. Comme il existe depuis si longtemps, il a été porté sur la plupart des systèmes d'exploitation que vous pouvez utiliser. Ce mois, je présente les bases des gnuplot et je montre différentes façon de m'en servir.

Gnuplot est un programme piloté par ligne de commande. Ce qui lui permet de procurer des capacités graphiques à d'autres applications, comme octave. Donc, il se peut que vous utilisiez Gnuplot sans même le réaliser. On peut utiliser Gnuplot de plusieurs manières. Il peut non seulement accepter des données à dessiner mais il peut aussi tracer des fonctions. Gnuplot peut envoyer ses résultats soit sur l'écran (dans un format de fichier statique ou en affichage interactif), soit envoyer la sortie vers l'un des grand nombre de format de fichiers. De plus, beaucoup de fonctions sont disponibles pour redéfinir vos points, changer les labels et les axes, parmi d'autres.

Commençons par installer gnuplot. Des exécutables sont disponibles pour de nombreux systèmes d'exploitation. La pluspart des distributions Linux disposent d'un package pour gnuplot, donc l'installation devrait être très facile. Si vous souhaitez les dernières et meilleurs fonctionalités, vous pouvez toujours télécharger le code source et reconstruire gnuplot de zéro.

Une fois gnuplot installé, vous pouvez le démarrer en exécutant la commande gnuplot [ou en lançant le programme wgnuplot.exe sfsfsd qui se trouve dans le dossier bin de gnuplot]. Exécuté de cette façon, vous êtes placé dans une session interactive. Commençons par essayer de dessiner une fonction de base. Vous devriez être capable de tracer toute expression mathématique qui serait accéptée en C, FORTRAN ou BASIC. Ces expressions mathématiques peut être construites avec des fonctions prédéfinies comme abs(x), cos(x) ou Bessel. Vous pouvez utiliser des types entier, réel ou complexe comme argument de ces fonctions.

Quand on utilise gnuplot pour générer un dessin, vous pouvez soit regrouper toutes les commandes dans un fichier et les envoyer à gnuplot comme un script ou vous pouvez démarrer gnuplot en mode interactif et entrer les commandes une par une. Pour exécuter un script, vous devez simplement l'ajouter à la fin de la ligne de commande quand vous exécutez gnuplot - par exemple :

gnuplot script_a_executer

Lorsque vous exécutez gnuplot en mode interactif, vous pouvez quiter votre session avec la commande quit. Les deux commandes de base sont plot et splot. plot génére une fonction simple. Pour dessiner une fonction simple, vous pouvez utiliser :

plot sin(x)/x

Ce qui ouvre une fenêtre de dessin et affiche le graphique résultant (Figure 1). Si vous voulez ajouter un titre au dessin, vous pouvez ajouter cette option à la commande :

plot sin(x)/x title "Example 1"

 

Figure 1. La commande de dessin ouvre une nouvelle fenêtre pour l'affichage.

Figure 2. Un graphique simple de sin(x)/x

Vous pouvez dessiner des expressions multiples sur la même fenêtre de dessin avec :

plot sin(x)/x title "Example 1", sin(x) title "Example 2"

Figure 3. Vous pouvez dessiner des fonctions multiples sur le même graphique.

Pour dessiner un graphique tri-dimensionel, écrivez simplement une expression avec deux variables indépendantes avec splot, comme :

splot x**2+y**2

Figure 4. Gnuplot peut aussi représenter des données en 3D.

Si vous rencontrez un problème, la première chose à faire est de regarder l'aide intégrée  des fonctions. Pour obtenir l'aide de la commande plot, exécutez la commande :

help plot

Ce qui affiche la documentation d'aide à propos de la commande plot.

Ceci est bien si vous voulez simplement voir à quoi ressemble une expression quand elle est représentée, mais pour un usage scientifique, vous collectez souvent des données qui nécessitent d'être représentées pour une analyse graphique et avoir des idées de ce qui ce passe. Gnuplot peut supporter ce type de graphique aussi. Pour ce faire, vous pouvez simplement utiliser un fichier qui contient les données à représenter. Ce fichier devrait contenir les données arrangées en colonnes, les colonnes étant séparées par une espace blanc [ou mieux, une tabulation]. Toute ligne qui commence par # est traité comme un commentaire et ignoré. Si votre fichier contient plusieurs colonne de donnée, vous pouvez sélectionner quelle colonne sera dessinée en utilisant l'option de plot ou splot. Par exemple, supposons que vous avez un fichier de données qui contient la température et la pression pour chaque jour. Vous pouvez représenter la température avec :

plot "weather.dat" using 1:2 title "Temperature"

Si vous voulez représenter le graphe de pression, vous utilisez :

plot "weather.dat" using 1:3 title "Pressure"

Si vous voulez dessiner les trois colonnes, vous pouvez utiliser :

splot "weather.dat"

Il y a deux façon de régler vos graphiques en utilisant gnuplot. La première est d'utiliser les options des commandes plot et splot. Dans ce cas, vous pouvez définir le titre du dessin, les axes ou le style. Les styles disponibles peuvent être lines, points, linespoints, impulses, dots, steps, fsteps, histeps, errorbars, xerrorbars, yerrorbars or xyerrorbars. Pour utiliser ces styles, vous pouvez inclure l'option avec le mot clé with. Donc, si vous voulez dessiner à la fois les lignes et les points sur votre graphique, vous pouvez ajouter with linspoints à votre commande plot. Vous pouvez aussi utiliser des raccourcis pour ces options. Pour with utilisez simplement w. Pour l'option titre, vous pouvez utiliser t. Pour l'option using présentée plus tôt, vous pouvez utiliser u.

La seconde option pour paramétrer vos graphiques est d'utiliser la commande set. Avec cette commande, vous pouvez librement fixer les valeurs de la plupart des options. En cette seconde possibilité, pouvez fixer toutes les options comme le titre (title), les noms des axes (xlabel et ylabel), leur intervale (xrange et yrange), xtrics ou key parmi d'autres options. Par exemple vous pouvez fixer l'intervalle de y (y-range) :

set yrange [20:500]

Après avoir fixé les options de dessin vous devez indiquer à gnuplot de redessiner le graphique sur lequel vous travaillez. Vous pouvez le faire avec la commande :

replot

La plupart de ces options utilisent aussi des raccourcis. Par exemple la version abrégée de la commande ci-dessus est :

set yr [20:500]

Gnuplot est non seulement un utilitaire pour représenter des données et des fonctions mais il peut aussi réaliser certaines analyses sur les données dessinées. Par exemple, vous pouvez réaliser de l'ajustement à une courbe de données. Pour cela, vous devez définir une fonction et ses paramètres initiaux avant d'appeler la commande fit. Par exemple :

f1=a1*tanh(x/b1)
a1=300; b1=0.005;
fit f1(x) 'data_file.dat' using 1:2 via a1,b1

Dit à Gnuplot d'essayer d'ajuster les données des colonnes 1 et 2 avec les données de du fichier data_file.dat avec la fonction définie par f1(x).

Quand vous avez défini un environnement pour une recherche particulière, vous pouvez sauvegarder tous les réglages que vous avez réalisés avec la commande save. Cette commande sauvegarde les commandes gnuplot que vous avez entrées dans un fichier texte. Ce fichier texte peut être chargé dans une nouvelle session gnuplot avec la commnande load. Ceci va reprendre toutes les commandes sauvegardées et les ré-exécuter dans la nouvelle session.

Vous pouvez toujours voir les options qui ont été fixées en utilisant la commande show. Cette commande montre les valeurs pour la session courrante. Pour voir toutes les options, utilisez la commande show all. Quand vous changez des options, il peut arriver que vous vous trouviez dans une situation inhabituelle. Rappelez vous que vous pouvez à tout moment retrouver les valeurs initiales d'aun paramètre que vous avez modifié avec set ent utilisant la commande reset qui réinitialise le paramètre à sa valeur par défaut.

Parfois vous pouvez souhaiter interagir avec la système sur lequel gnuplot est exécuté. Dans ces cas, vous pouvez avoir besoin de démarrer une session du shell à partir de gnuplot. Il y a deux façon de procéder. La première est d'utiliser la commande system. Dans ce cas, vous pouvez stocker une chaine de caractères qui contient les commandes systèmes que vous voulez exécuter. L'autre solution est d'utiliser la commmande ! (point d'exclamation). Cette commande est en fait un simple raccourci de la commande system et peut être utilisé interchangeablement.

Cet article a couvert les fonctions les plus simples disponibles dans gnuplot. Il est maintenant temps de regarder la documentation de façon plus approfondie pour voir ce qui peut être fait en plus pour l'analyse de vos données. Même si vous n'utilisez pas gnuplot directement, en apprendre plus vous aidera quand vous utiliserez d'autres applications comme octave. Prenez cet article comme un tremplin et explorez ce qui est possible en analyse des données.

Mots clés : aucun

Commentaires

#1 • Le 14 mai 2013 à 10:31, chmd a dit :

Le seul défaut de gnuplot, c'est qu'il n'est ni GNU, ni libre: c'est un freeware au code source ouvert, mais on ne peut redistribuer son code source modifié. Pour cette raison, je pense qu'il est mieux de lui préférer R.

#2 • Le 14 mai 2013 à 16:39, yayel a dit :

@chmd :
Merci pour ces précisions. Je n'avais pas saisi cette subtilité que gnuplot n'est pas gnu ni même sous licence gnu... L'histoire de son nom est expliqué ici :
http://ftp.traduc.org/doc-vf/gazette-linux/html/2009/158/lg158-A.html#id3052310

Maintenant, je suis aussi d'accord que R le surpasse nettement non seulement pour ces questions de licence mais aussi pour tous les traitements qu'on peut réaliser en R.

#3 • Le 30 avril 2014 à 11:31, tarif assurance scooter a dit :

Une bonne lecture comme je les aime

#4 • Le 08 décembre 2014 à 15:51, Coiffure a dit :

J'aimerais trop avoir un blog aussi génial que le tien, vraiment !

#5 • Le 09 décembre 2014 à 13:06, Location vacances a dit :

Te remercier pour cet article, c'est le minimum que je puisse faire ! Biz à toi

#6 • Le 03 mars 2015 à 14:04, assurance auto pas cher a dit :

Bravo et puis merci pour cet article.

#7 • Le 23 mars 2015 à 11:00, serrurier paris pas cher a dit :

Et bien chapeau pour cet article.

#8 • Le 01 juillet 2015 à 07:32, www.bestdatingadviceformen.net a dit :

It is a fact that most of the first dates are held at a coffee shop.Such a place is a great idea because it has in built conversation in it. So when it comes to the best spots for a night to remember here are another couple.

#9 • Le 01 juillet 2015 à 07:32, www.herpesdatinguk.net a dit :

Going to something entertaining on the first date is certainly a good place as it will leave a long lasting impression.Getting to the club some time prior to the show start is a great way to get to know your date and futher enjoy your enjoyment time together.If you are able to joke and enjoy your time on your date you are more than guaranteed

#10 • Le 01 juillet 2015 à 07:33, www.fashionartmusic.org a dit :

As we tend to all apprehend, fashion are often terribly tough to follow. In an trade wherever one color, material or pattern are often insanely hot one minute and wholly out following, there's little doubt that maintaining isn't any straight forward task. To not worry, we're here to assist you type through all the most recent fashion news and trends and keep you trying stylish.

#11 • Le 01 juillet 2015 à 07:33, www.fashionschoenen.org a dit :

If you are within fashion, you are likely to can see this the entire world enjoys Fashion Week love it is Holiday season. You're going to comprehend why they will holiday over their very own base trying to get some front-row Harley seat and ogling inside the extremely choices

#12 • Le 01 juillet 2015 à 07:33, www.fashionsmart.org a dit :

Fashion lets us know lots around a someone, the way that they dress up, that they place their attire in concert suggests a person they are really each day. Possibly even folks who claim to not ever what to see happy the way that they feel however show a tale concerning who they really are as well as what we try to be.

#13 • Le 01 juillet 2015 à 07:33, www.dlshealthcareconsulting.co a dit :

Health information technology has absolutely changed the notion of addressing the healthcare issues. With the help of the transformation of information technology in health section, you will get benefit in your overall healthcare circle including relationships of your doctors,

#14 • Le 01 juillet 2015 à 07:33, www.multitourist.com/ a dit :

If you're looking to put your town on the map, writing travel articles is a great way to reach travellers. The birth and growth of the Internet has significantly changed the way we gather and disseminate information. These days, one can do a simple search for a holiday destination and be rewarded with literally millions of travel articles.

#15 • Le 01 juillet 2015 à 07:33, www.medicarehealthassess.com/ a dit :

There are a few plans available to those eligible for Medicare health insurance, one of them is the medicare prescription plan. Medicare is a program of social insurance administered by the United States government. It is available to people of age 65 and over although beneficiaries of a younger age may be eligible if they meet certain requirements.

#16 • Le 01 juillet 2015 à 07:34, www.lawyers-on-line.com/ a dit :

You can get a free immigration lawyer on the net who gives you free advice on immigration matters. You can also fill up the free application form given on the website, for a free assessment of your candidature, for migration in a specific category. You do not have to pay a single penny for this service.

#17 • Le 01 juillet 2015 à 07:34, www.hotelinsuranceplans.com/ a dit :

Personal liability insurance comes handy if you injure another person or damage his or her property. Therefore, if you are involved in an accident and are held liable for the accident, a good travel plan will cover your legal expenses and liability.

Ecrire un commentaire




Quelle est la dernière lettre du mot azliok