2012-08-15 79 views
5

直方圖我有一個看起來像這樣添加誤差線中的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 

我能夠生成使用gnuplot的,看起來像這樣 enter image description here

我需要添加max和圖形數據文件最小值作爲誤差棒到每個條

下面有我的gnuplot腳本

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)" 

我想這

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)" 

但失敗了,我要麼得到公正的誤差條無柱狀圖,或者如果我嘗試修改了一下圖像腐化。
我在做什麼wtong?

感謝

+1

我可能已經回答了類似的問題。 (http://stackoverflow.com/questions/11718251/plotting-horizo​​ntal-lines-across-histogram-bars/11721379#11721379)。這看起來是你想要的方式嗎? – mgilson 2012-08-15 12:26:13

回答

3

基本上,你需要疊加直方圖和誤差柱狀圖中,但是,我看到的問題是使用xtic(1),這使得它難以覆蓋的箱形圖的錯誤條形圖。

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

它工作完美:) – Deepthought 2012-08-15 20:44:00