Utilisation de gnuplot

pdf



Produit
Nom
GNUPLOT
 
Machines d'installation
Pluton, meso et cluster
 
Description
Logiciel du domaine public faisant parti du projet GNU qui permet de tracer des courbes 2D ou 3D en intéractif ou batch par l'intermédiaire de commandes simples.
Les instructions se transmettent soit en les tapant directement à l'invite soit à partir d'un fichier de commande UNIX (batch).
Il est également possible de tracer des fonctions ou des fichiers de points. Différentes options sont disponibles : styles de tracés, intervalle de définition d'une fonction.
De plus un grand nombre de fonctions mathématiques prédéfinies sont disponibles. Il bénéficie d'une aide interactive en ligne (help).

 
Fonctionnement
Variables d'environnement à positionner
 avec une connexion ssh, vous n'avez pas besoin d'initialiser votre DISPLAY
  • en ksh : export DISPLAY=<@IP_de_votre_Tx>:0.0
  • en csh : setenv DISPLAY <@IP_de_votre_Tx>:0.0

Lancement
  • Lancement intéractif :

    • Dans une console tapez la commande gnuplot. L'invite change pour devenir gnuplot>.
    • Les commentaires sont précédés de '#', et peuvent être saisis eux aussi.
    • gnuplot se présente comme un langage interprété ; on entre donc des commandes qui sont alors prises en compte au fur et à mesure de leur saisie ; on peut remonter l'historique comme en ligne de commande shell.
    • Des commandes peuvent être enchaînées avec ';'.
    • L'environnement se quitte avec 'exit'.
    • Les commandes plot et splot permettent de tracer les courbes. plot trace une courbe en 2D et splot une courbe 3D.

    Voici un exemple de tracé de courbe représentative pour la fonction f définie par f(x)=3x(x-1)(x+1) :

    $ gnuplot
    gnuplot> # definit la fonction
    gnuplot> f(x)=3*x*(x-1)*(x+1)
    gnuplot> # trace la courbe dans une nouvelle fenetre en 2D;
    gnuplot> plot f(x)

    gnuplot> # intervalles en x et y
    gnuplot> set xrange [-2:2] ; set yrange [-5:5]
    gnuplot> # les axes de coor. doivent etre traces en style de ligne 1 (trait plein)
    gnuplot> set xzeroaxis 1 ; set yzeroaxis 1
    gnuplot> # l'axe des y doit etre gradue de 1 en 1
    gnuplot> set ytics 1
    gnuplot> # les graduations des axes de coor. doivent etre sur ces axes
    gnuplot> set xtics axis ; set ytics axis
    gnuplot> # nom des axes
    gnuplot> set xlabel "abscisse" ; set ylabel "ordonné"
    gnuplot> # commentaires sur la courbe en certains points
    gnuplot> set label "0" at 0,0 ; set label "I" at 1,0
    gnuplot> # trace une trame
    gnuplot> set grid
    gnuplot> # supprime le cadre exterieur
    gnuplot> set noborder
    gnuplot> # titre; remarquer le '\n' pour passer a la ligne
    gnuplot> set title "Exemple 1 de gnuplot\nen intéractif"

    gnuplot> # retrace la courbe
    gnuplot> replot

    gnuplot> # redirige la sortie standard (X11) en postscript couleur
    gnuplot> # (pour connaitre les autres formats, faire : help term)
    gnuplot> set term postscript color
    gnuplot> # initialise le fichier output
    gnuplot> set output "/monchemin/monfichier.ps"
    gnuplot> # genere le fichier output
    gnuplot> replot

    gnuplot> # revient a la sortie standard
    gnuplot> set term x11

    gnuplot> # sauvegarde du travail
    gnuplot> save 'montravail'
    gnuplot> # chargement du travail
    gnuplot> load 'montravail'

    gnuplot> exit
    $

    figure1

    Voici un exemple appelant un fichier de données ASCII population.dat :

    # Fichier de donnees : population.dat
    # an pingouins gnous
    1970 1230 256
    1975 987 320
    1980 518 350
    1985 780 302
    1990 1024 150
    1995 1250 281
    2000 1580 520

    $ gnuplot
    gnuplot> # titre
    gnuplot> set title "Exemple 2 de gnuplot\nen intéractif"

    gnuplot> # Affichage de la courbe de la population des pingouins
    gnuplot> plot [*:*] [0:1800] "population.dat" title "pingouins" with linespoints
    gnuplot> # Affichage de la courbe de la population des gnous
    gnuplot> replot "population.dat" using 1:3 title "gnous" with linespoints

    figure2

  • Lancement avec fichier en argument :

    gnuplot fichier_gnuplot

    Voici un exemple de fichier en argument fichier_gnuplot qui trace la surface de l'équation z=sin(x)+2cos(y).

    # definit l'equation
    f(x,y)=sin(x)+2*cos(y)
    # titre de l'equation
    set title "Exemple 3 de gnuplot\nen batch"
    # intervalles en x, y et z
    set xrange [-5:5] ; set yrange [-5:5] ; set zrange [-3:3]
    # trace une trame
    set grid
    # enleve l'effet de transparence; pour annuler: set nohidden3d
    set hidden3d
    # pas fixe a 30 en x et y
    set isosamples 30,30
    # nom des axes
    set xlabel "axes des x" ; set ylabel "axe des y" ; set zlabel "axe des z"
    # trace la surface (S), et les plans d'équations z=-3 et z=0 en 3D
    splot f(x,y), -3, 0
    # fait une pause pour visualiser le graphe
    pause -1 "Faire retour"

    figure3

 
Aide



[retour]