Comment tracer des graphiques à barres dans gnuplot avec des étiquettes de texte?
Graphique à barres simple:
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
data.dat:
0 label 100
1 label2 450
2 "bar label" 75
Si vous voulez styler vos barres différemment, vous pouvez faire quelque chose comme:
set style line 1 lc rgb "red"
set style line 2 lc rgb "blue"
set style fill solid
set boxwidth 0.5
plot "data.dat" every ::0::0 using 1:3:xtic(2) with boxes ls 1, \
"data.dat" every ::1::2 using 1:3:xtic(2) with boxes ls 2
Si vous voulez faire plusieurs barres pour chaque entrée:
data.dat:
0 5
0.5 6
1.5 3
2 7
3 8
3.5 1
gnuplot:
set xtics ("label" 0.25, "label2" 1.75, "bar label" 3.25,)
set boxwidth 0.5
set style fill solid
plot 'data.dat' every 2 using 1:2 with boxes ls 1,\
'data.dat' every 2::1 using 1:2 with boxes ls 2
Si vous voulez être difficile et utiliser quelques astuces gnuplot soignée:
Gnuplot a des colonnes en pseudo qui peuvent être utilisées comme index à colorier:
plot 'data.dat' using 1:2:0 with boxes lc variable
De plus, vous pouvez utiliser une fonction pour choisir les couleurs que vous voulez:
mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable
Remarque: vous devrez ajouter quelques autres commandes de base pour obtenir le même effet que les exemples d'images.
Tracez "data.dat" avec 2: xtic (1) avec histogramme
Ici data.dat contient des données de la forme
titre 1 titre2 3 "titre long" 5
Je recommande le script Perl du générateur de graphique à barres de Derek Bruening. Disponible à l'adresse suivante: http://www.burningcutlery.com/derek/bargraph/
Je voudrais juste développer la réponse principale, qui utilise GNUPlot pour créer un graphique à barres, pour les débutants absolus, parce que j'ai lu la réponse et que le déluge de syntaxe me troublait encore.
Nous commençons par écrire un fichier texte contenant les commandes GNUplot. Permet de l'appeler commands.txt:
set term png
set output "graph.png"
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
set term png
définira GNUplot pour générer un fichier .png et set output "graph.png"
est le nom du fichier vers lequel il sera généré.
Les deux lignes suivantes sont plutôt explicites. La cinquième ligne contient beaucoup de syntaxe.
plot "data.dat" using 1:3:xtic(2) with boxes
"data.dat"
est le fichier de données sur lequel nous opérons. 1:3
indique que nous utiliserons la colonne 1 de data.dat pour les coordonnées x et la colonne 3 de data.dat pour les coordonnées y. xtic()
est une fonction responsable de la numérotation/étiquetage de l'axe des x. xtic(2)
indique donc que nous utiliserons la colonne 2 de data.dat pour les libellés.
"data.dat" ressemble à ceci:
0 label 100
1 label2 450
2 "bar label" 75
Pour tracer le graphique, entrez gnuplot commands.txt
dans le terminal.
Vous pouvez directement utiliser les histogrammes de styles fournis par gnuplot. Ceci est un exemple si vous avez deux fichiers en sortie:
set style data histograms
set style fill solid
set boxwidth 0.5
plot "file1.dat" using 5 title "Total1" lt rgb "#406090",\
"file2.dat" using 5 title "Total2" lt rgb "#40FF00"