Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== Gnuplot ====== * [[https://raymii.org/s/tutorials/GNUplot_tips_for_nice_looking_charts_from_a_CSV_file.html]] * [[https://www.cs.hmc.edu/~vrable/gnuplot/using-gnuplot.html]] * http://gnuplot.sourceforge.net/demo_5.5/ * https://gnuplotting.org/ Exemple de code: <code gnuplot> 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 "--" </code> La colonne correspondant aux numéros de ligne dans le fichier est la colonne ''0'' ([[https://stackoverflow.com/questions/21452538/gnuplot-setting-x-axis-value-as-lines-from-text|source]]). Pour lier les points par une ligne: <code gnuplot> set style data linespoints </code> 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 : <code bash> gnuplot <<EOF set terminal pngcairo size 800,600 enhanced font 'Segoe UI,10' EOF </code> Mettre toutes les commandes Gnuplot dans un fichier, puis : <code bash> gnuplot script.gnuplot </code> === Lire les données depuis l'entrée standard === <code bash> cat fichier | gnuplot -p -e "plot '< cat -' using 1:xtic(2) notitle;" </code> === Échelle logarithmique === [[http://gnuplot.sourceforge.net/docs_4.2/node197.html]] <code gnuplot> 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 </code> === Dessiner tous les fichiers d'un dossier === [[https://stackoverflow.com/questions/29969393/plot-all-files-in-a-directory-simultanously-with-gnuplot]] <code gnuplot> plot for [ f in system("ls *.csv") ] f using 1:2 title f </code> === Changer la taille des labels d'un axe === [[https://stackoverflow.com/questions/15732856/set-font-size-of-values-numbers-on-the-axis|Source]] <code gnuplot> set xtics font ", 8" </code> === Ne pas afficher la légende === [[https://stackoverflow.com/questions/8618487/gnuplot-removing-line-title|Source]] <code gnuplot> plot 'File.dat' using 1:2 notitle </code> === Changer le formatage des valeurs d'un axe === Par exemple pour ne pas utiliser la notation scientifique sur l'axe des abscisses ([[https://stackoverflow.com/questions/33241104/turn-off-scientific-notation-in-gnuplot|source]]) : <code gnuplot> set format x '%.f' </code> ==== Statistiques ==== * [[http://gnuplot.sourceforge.net/demo_5.5/stats.html]] * [[https://entorb.net/wickie/Gnuplot#Stats]] <code gnuplot> 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 </code> ==== Histogramme ==== * [[http://gnuplot.sourceforge.net/demo/histograms.html]] * [[https://www.xmodulo.com/plot-bar-graph-gnuplot.html]] * [[https://noidea.dog/blog/graphing-chips-with-gnuplot]] * [[https://www.javaer101.com/en/article/16074902.html]] * [[https://stackoverflow.com/questions/18332161/gnuplot-histogram-cluster-bar-chart-with-one-line-per-category]] Pour un fichier de ce style: <code> 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 ... </code> <code gnuplot> 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" </code> === Histogramme empilé === <code gnuplot> set style histogram rowstacked plot "results.txt" using 2:xtic(1) title "Forward step", '' using 3 title "Backward step" </code> gnuplot.txt Dernière modification : 2025/06/16 13:06de phsw