2012-11-30 73 views
2

我有這樣一個數據文件堆積條形圖:顯示單個條形圖和同積

"Execution" 500 
"Overhead 1" 200 
"Overhead 2" 75 

我想繪製該數據的柱狀圖,顯示執行時間爲單條線圖,但間接費用1間接費用2作爲單個堆積條形圖。

這是我到目前爲止有:

set terminal postscript eps 24 
set output "wq_time_profile.eps" 
set size 0.95,0.95 
set boxwidth 1.0 relative  
set style fill solid 0.5 noborder 
set style data histogram 
set style histogram cluster gap 1 
set ylabel "Time (mins)"                  
plot "wq_time_profile.dat" u 1 notitle, "" u 2 notitle, "" u 3 notitle 

我不能完全得到我的周圍如何顯示行2和3堆積條形圖同時顯示作爲獨立的條形圖第1行頭同樣的情節。這可能在gnuplot?我正在使用gnuplot v4.2。謝謝!

編輯:修改了標題和問題澄清,該地塊需要包含在同一個獨立的條形圖和堆積條形圖水道同積

+1

感謝您的回答。我今天學到了新的東西:) – mgilson

回答

2

這似乎工作:

set style fill solid 0.5 noborder 
set style histogram columnstacked 
set style data histogram 
set ylabel "Time (mins)" 
plot "test.dat" u 2 notitle with histogram 

如果你想有個帶顏色的標籤的關鍵:

set style histogram columnstacked 
set style data histogram 
set style fill solid 0.5 noborder 
set ylabel "Time (mins)" 
plot "test.dat" u 2:key(1) with histogram 

在閱讀你的編輯和玩了一下後,這仍然是可能的,但我需要修改你的數據文件。 (我希望這是好的):

"Execution" 500 


"foo" NaN 
"Overhead 1" 200 
"Overhead 2" 75 

現在繪圖腳本:

set style histogram columnstacked 
set style data histogram 
set style fill solid 0.5 noborder 
set ylabel "Time (mins)" 
plot for [i=0:1] "test.dat" index i u ($2):key(1) with histogram 

還有一堆微妙之處這裏。這對空白記錄是一種爲繪圖時使用的gnuplot創建單獨的「索引」的方法。第一個欄本身就是一個數據集。問題在於,Gnuplot會將索引0中的第一條記錄與索引1中的第一條記錄進行匹配,並使用相同的顏色對它們進行繪製。這很醜陋。所以我們需要在index = 1數據集中插入一個假記錄,它不會繪製任何圖,但會佔用一個顏色。這就是"foo" NaN產品線的設計目的。我還需要修改plot行來繪製兩個索引。並且使用規範需要從2:key(1)更改爲($2):key(1),因爲兩種形式處理缺失數據的方式略有不同。

+0

感謝mgilson的答案!但是,我意識到我的問題並不清楚。我現在編輯它來澄清它。我在這個問題中試圖做的是在一個條形圖中顯示第1行,同時在堆積的條形圖中顯示第2行和第3行。 – dpandiar

+0

@dpandiar - 已更新。希望它能做到你現在想要的。 – mgilson

+0

完美!這就像一個魅力!我只需手動設置xtics .. – dpandiar