gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Beitrag von heisenberg » 11.03.2020 20:13:09

Hallo zusammen,

ich versuche gerade mit gnuplot ein paar Bildchen zu HDD Benchmarks zu basteln. Teilweise gelingt mir das auch. Wie ich das mit der Beschriftung hinbekomme, da hänge ich allerdings.

Das ist meine Datendatei:

Code: Alles auswählen

1 btrfs 154.1
2 btrfs.lvm 151.9
3 ext3 140.1
4 ext3.lvm 140.1
5 ext4 148.1
6 ext4.lvm 148.1
Das ist meine gnuplot-Datei:

Code: Alles auswählen

reset
set terminal pngcairo enhanced font "Times,12" size 400,600
unset key 
set style data histogram
set style histogram cluster gap 1
set style fill solid border -2
set boxwidth 0.75
set xtic rotate by 90
set xtic offset 0,-2, graph 0.05
unset ytics
set y2range [120:180]
set y2tics
set y2label 'MB/s' offset -1.0
set xlabel ' '
set size 1, 1
set label 1 'Filesystem' at graph 0.5, -0.5 centre rotate by 180
plot [-1:6] [120:180] 'seq_read.dat' using 3 linetype rgb "blue", '' using 0:(0):xticlabel(2) with line title ''
So erzeuge ich mein Bild:

Code: Alles auswählen

gnuplot seq_read.gnuplot  >x.png
convert -rotate 90 x1.png x.png
So sieht das Bildchen bisher aus:

Bild

Wenn ich aber jetzt noch die Werte rechts vom Balken haben möchte, was ich eigentlich mit der folgenden Änderung der Plotzeile erreichen möchte, dann verschwinden die Balken.

Code: Alles auswählen

plot [-1:6] [120:180] 'seq_read.dat' using 1:3:3 linetype rgb "blue" with labels, '' using 0:(0):xticlabel(2) with line title ''
Bild

(Ja. ich weiss, da sind noch andere Darstellungsfehler).

Als Basis habe ich das benutzt:
http://www.phyast.pitt.edu/~zov1/gnuplo ... ogram.html

Habt Ihr da vielleicht einen Tip für mich?

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Beitrag von heisenberg » 12.03.2020 10:39:41

Ich habe jetzt eine andere gnuplot-Vorlage verwendet.

Das 5. Bild von oben von hier: http://gnuplot.sourceforge.net/demo_5.0 ... rings.html

Damit sieht meine Datendatei jetzt so aus:

Code: Alles auswählen

btrfs 154.1
btrfs.lvm 151.9
ext3 140.1
ext3.lvm 140.1
ext4 148.1
ext4.lvm 148.1
und meine gnuplot-Datei:

Code: Alles auswählen

set terminal pngcairo enhanced font "arial,10" fontscale 1.0 size 600, 400 
set output 'datastrings.5.png'
set bar 1.000000 front
set boxwidth 0.3 absolute
set style fill   solid 1.00 border lt -1
set key off
unset ytics
set xtics border in scale 0,0 mirror norotate  autojustify
set xtics  norangelimit 
set xtics   ()
set y2tics border in scale 0,0 mirror norotate  autojustify
set ztics border in scale 0,0 nomirror norotate  autojustify
set cbtics border in scale 0,0 mirror norotate  autojustify
set rtics axis in scale 0,0 nomirror norotate  autojustify
set title "HDD Speed Test SingleDisk fio SeqRead 1M" 
set xrange [ -0.500000 : 5.5000 ] noreverse nowriteback
set y2label "MB/s" 
set yrange [ 100.00000 : 180.000 ] noreverse nowriteback
set bmargin  3
plot 'table.dat' using 0:2:xtic(1) linetype rgb "blue" with boxes,      ''          using 0:2:2 with labels center offset 0,1 notitle
Und das Ergebnis ist das hier:

Bild

Vom Stil her hat mir die erste Variante viel besser gefallen, aber das tut's auch erst mal. Jetzt müssen nur noch die restlichen Tests durchlaufen. ;-)

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Beitrag von smutbert » 12.03.2020 12:59:59

Das mit den Darstellungsfehlern verstehe ich auch nicht. Ich hab das aus deinem Eröffnungspost ausprobiert und statt als png in ein Fenster zeichnen lassen und dort sind bereits ohne Beschriftung die Balken zwischendurch verschwunden und gelegentlich, aber nicht immer bei einer Änderung wieder aufgetaucht.

Die Daten sind schon echt?
(Für mich ist es überraschend, dass btrfs hier schneller ist - dachte die Komplexität und die Prüfsummen sollten btrfs langsamer machen.)

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Beitrag von heisenberg » 12.03.2020 13:45:04

Die Daten sind echt. Sequentielles Lesen ist aber der einzige Test, bei dem btrfs vorne ist. Ich stelle die Ergebnisdaten demnächst zur Verfügung.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Beitrag von ThorstenS » 12.03.2020 14:57:59

Ich hab mal ein paar kleinere Änderungen vorgenommen. Was hälst du davon?

Code: Alles auswählen

set terminal pngcairo enhanced font "verdana,8" fontscale 1.0 size 600, 400
set output 'datastrings.5.png'
set bar 1.000000 front
set boxwidth 0.3 absolut
set style fill solid 0.8 border rgb 'orange'
set key off
unset ytics
unset border
set grid y2tics lc rgb "#333"
set xtics border in scale 0,0 mirror rotate by -15 autojustify
set xtics norangelimit
set xtics ()
set y2tics  border in scale 0,0 mirror   norotate autojustify
set ztics   border in scale 0,0 nomirror norotate autojustify
set cbtics  border in scale 0,0 mirror   norotate autojustify
set rtics   axis   in scale 0,0 nomirror norotate autojustify
set title "HDD Speed Test SingleDisk fio SeqRead 1M" font ",14" tc rgb "#606060"
set xrange [ -0.500000 :   5.500 ] noreverse nowriteback
set yrange [ 100.00000 : 180.000 ] noreverse nowriteback
set y2label "MB/s"
set bmargin  3
plot 'table.dat' using 0:2:xtic(1) linetype rgb "gold" with boxes, '' using 0:2:2 with labels center offset 0,1 notitle
2548

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: gnuplot: horizontales Balkendiagramm - aber mit Beschriftung?

Beitrag von heisenberg » 12.03.2020 15:01:39

Sieht wesentlich besser aus! Danke!

Antworten