gnuplot

Ceci est une ancienne révision du document !


Gnuplot

Exemple de code:

set datafile separator ','
# set key autotitle columnhead # use the first line as title
set title "title" noenhanced # noenhanced permet de ne pas traiter le titre comme du LaTeX
set ylabel "Duration (s)"
set xlabel "Number of workers"
# set key center top
set terminal pngcairo size 800,600 enhanced font 'Segoe UI,10'
set output 'mpi-pipelined-all.png'
 
# set y2tics # enable second axis
# set ytics nomirror # dont show the tics on that side
# set y2label "Number of iterations per second" # label for second axis
 
set grid
 
set xrange [3:]
 
plot \
    "1-mpi/result.csv" using 1:2 title "1 node" with linespoints, \
    "2-mpi/result.csv" using 1:2 title "2 nodes (nb workers x 2)" with linespoints, \
    "1-mpi/result.csv" using 1:($2/2) title "2 nodes with perfect scalability" with linespoints dashtype "--"

Pour lier les points par une ligne:

set style data linespoints

Paramètres de chaque courbe:

  • lc suivi d'un numéro ou du nom d'une couleur: couleur de la courbe
  • lt suivi d'un numéro: type de point
  • dt suivi d'un numéro: style de la ligne

Utilisation de scripts

Depuis un script Bash :

gnuplot <<EOF
set terminal pngcairo size 800,600 enhanced font 'Segoe UI,10'
EOF

Mettre toutes les commandes Gnuplot dans un fichier, puis :

gnuplot script.gnuplot

Échelle logarithmique

http://gnuplot.sourceforge.net/docs_4.2/node197.html

set logscale xz # active l'échelle log sur les axes x et z
set logscale y 2 # active l'échelle log en base 2 sur l'axe y

Dessiner tous les fichiers d'un dossier

Changer la taille des labels d'un axe

Source

set xtics font ", 8"

Ne pas afficher la légende

Source

plot 'File.dat' using 1:2 notitle
stats "result.csv" using 4 prefix "A"
stats "result.csv" using 5 prefix "B"
 
set yrange [0:1.1]
plot "result.csv" using 1:($4/A_max) title columnhead(4) with linespoints, "" using 1:($5/B_max) title columnhead(5) with linespoints

Pour un fichier de ce style:

Thread #0        150.0   150.9   152.4
Thread #1        148.4   150.2   151.7
Thread #2        149.8   151.1   152.4
Thread #3        148.2   149.8   151.2
Thread #4        150.2   151.2   152.2
...
set terminal pngcairo size 800,600 enhanced font 'Segoe UI,10'
set output 'without-comm.png'
 
set datafile separator '\t'
 
set style histogram errorbars lw 1 # pour afficher les barres d'erreurs
set style data histogram
set style fill solid border -1
set ylabel "Duration (ms)"
set xtics rotate
 
set xrange [-0.5:]
set yrange[0:140]
 
# 3: valeur de la barre
# 2: minimum pour la barre d'erreur
# 4: maximum pour la barre d'erreur
# xtic(1): la première colonne sera pour les labels de x
plot "data-without-comm.out" using 3:2:4:xtic(1) title "Without communications"

Histogramme empilé

set style histogram rowstacked
plot "results.txt" using 2:xtic(1) title "Forward step", '' using 3 title "Backward step"
  • gnuplot.1687340880.txt.gz
  • Dernière modification : 2023/06/21 11:48
  • de phsw