Es gibt ein paar Anweisungen, um vertikale Linien in gnuplot zu erhalten, wenn Sie Funktionen plotten. Wie mit der set arrow
Funktion. Ich brauche diese Funktionalität für ein Histogramm und es stellt sich heraus, dass das Histogramm eine andere Position von 0,0 auf der X-Achse hat. In meinem Fall sind die X-Achsenmarkierungen nur Zeichenfolgen aus der Datendatei.Hinzufügen von vertikalen Markierungslinien in gnuplot für das Histogramm
Beim Zeichnen des Histogramms wäre es so schön, den Mittelwert, + -3sigma und vielleicht den X = 0-Punkt durch vertikale Linien von oben nach unten in fetten, durchgezogenen Linien markiert zu haben.
Mein Histogramm Code:
set boxwidth 1.0 absolute
set style line 1 lc rgb 'skyblue'
set style fill solid border lt -1
set style data histogram
set style histogram clustered gap 0.0
set xtics in rotate by 90 offset first +0.5,0 right
set xlabel
set ylabel 'Count'
set terminal unknown
plot 'histo.raw' using 3
set title 'data'
set yrange [0:GPVAL_DATA_Y_MAX*1.2]
set term X11
plot 'histo.raw' using 3:xtic(2) ls 1 title columnheader(1)
set arrow 1 from 0.0,0.0 to 0.0,GPVAL_DATA_Y_MAX*1.2 nohead
Meine Daten:
"data"
0 "-INF -> -5.0" 0 0.00
1 " -5.0 -> -4.5" 0 0.00
2 " -4.5 -> -4.0" 2 0.03
3 " -4.0 -> -3.5" 4 0.06
4 " -3.5 -> -3.0" 3 0.05
5 " -3.0 -> -2.5" 5 0.08
6 " -2.5 -> -2.0" 19 0.30
7 " -2.0 -> -1.5" 49 0.78
8 " -1.5 -> -1.0" 193 3.07
9 " -1.0 -> -0.5" 527 8.39
10 " -0.5 -> +0.0" 1289 20.53
11 " +0.0 -> +0.5" 1878 29.90
12 " +0.5 -> +1.0" 1411 22.47
13 " +1.0 -> +1.5" 636 10.13
14 " +1.5 -> +2.0" 178 2.83
15 " +2.0 -> +2.5" 56 0.89
16 " +2.5 -> +3.0" 17 0.27
17 " +3.0 -> +3.5" 9 0.14
18 " +3.5 -> +4.0" 4 0.06
19 " +4.0 -> +4.5" 0 0.00
20 " +4.5 -> +5.0" 0 0.00
21 " +5.0 -> +INF" 0 0.00
Die set arrow
Funktion setzt die Linie an der falschen Stelle.
set arrow 1 from 0.0,0.0 to 0.0,GPVAL_DATA_Y_MAX*1.2 nohead
In diesen Daten
mean= 0.2743
sigma= 0.7491
Vielen Dank für Ihre Ideen.
Gert