2012-08-15 6 views
5

I-Daten-Datei, die wie diese eine Grafik zu erzeugen, unter Verwendung von gnuplotHinzufügen von Fehlerleiste Histogramm in gnuplot

#col 1  2  3  4  5  6  7 
#bench     #these are max and min values 
#mark  #bar1 #bar2 #for the prevoius 2 values 
NOSHARE.2 43032 139412 100 45000 130000 140000 
FALSE_SHARE.2 7035 24101 5000 7500 24100 25000 
SHAREDVAR.2 11316 10248 10000 12000 10000 12000 

Ich bin in der Lage sieht, die wie diese enter image description here

Imax hinzufügen müssen aussieht und min-Wert als Fehlerbalken an jeder Bar

Heres mein gnuplot Skript

set output "truevsfalse.png" 
set title " TRUE VS FALSE SHARING " 
set boxwidth 0.9 absolute 
set style fill solid 1.00 border lt -1 
set key inside right top vertical Right noreverse noenhanced autotitles nobox 
set style histogram clustered gap 5 title offset character 0, 0, 0 
set datafile missing '-' 
set style data histograms 
set xtics border in scale 0,0 nomirror rotate by -45 offset character 0, 0, 0 
set xtics norangelimit 
set ylabel "NUMBER  OF  SHARING" 
set xlabel "BENCHMARK" 
plot 'truevsfalse.dat' using 2:xtic(1) title "true(synced and nonsynced)sharing (both vcpus)" , '' u 3 title "false sharing (both vcpus)" 

ich versuchte, diesen

plot 'truevsfalse.dat' using($0- .05):2:4:5:xtic(1) with boxerrorbars title "true(synced and nonsynced)sharing (both vcpus)" , '' using ($0+0.25):3:6:7 with boxerrorbars title "false sharing (both vcpus)" 

aber nicht, ich entweder nur die Fehlerbalken erhalten, ohne Histogrammbalken oder wenn ich versuche, ein bisschen die Bild korrumpiert zu ändern.
Was mache ich mit wong?

Dank

+1

Ich könnte bereits eine ähnliche Frage beantwortet haben. (http://stackoverflow.com/questions/11718251/plotting-horizontal-lines-across-histogram-bars/11721379#11721379). Sieht das so aus, wie Sie es wollen? – mgilson

Antwort

3

Grundsätzlich müssen Sie Histogramm und Fehlerbalkendiagramm zu überlagern, aber ich sehe das Problem xtic(1) verwendet, was es schwierig macht auf dem Box-Plot Fehlerbalkendiagramm zu überlagern.

set xtics ('NOSHARE.2' 0, 'FALSE_SHARE.2' 1, 'SHAREDVAR.2' 2) 
set bs 0.2 # width of a box 
plot 'junk' u ($0-bs/2):2:(bs) w boxes title "true(synced and nonsynced)sharing (both vcpus)", \ 
    'junk' u ($0-bs/2):2:4:5 w yerror notitle, \ 
    'junk' u ($0+bs/2):3:(bs) w boxes title "false sharing (both vcpus)", \ 
    'junk' u ($0+bs/2):3:6:7 w yerror notitle 
+0

Es hat perfekt funktioniert :) – Deepthought