2013-02-24 104 views
0

我有這個數據文件:創建一個疊加柱狀圖

A 
    169 
    164 
    164 
    102 
    150 
    100 
    145 
B 
    145 
    107 
    115 
    120 
    140 

我想創建一個疊加柱狀圖出來。我想設置一個範圍(比如說100到170),爲X軸設置垃圾箱寬度(比如10),並且它會計算每個垃圾箱中的垃圾箱數量(例如140到149會在A中有1個) B中爲2),並使用小節在Y軸上繪製計數。 A計數和B計數的着色(或孵化或其他)會有所不同。 我試着看着gnuplot的直方圖演示,它在某些情況下確實看起來類似,但我無法弄清楚如何使它工作。另外隨着蟒蛇+ matplotlib或R. 沒有運氣的數據重新排序,以類似

A B 
169 145 
164 107 
164 115 
102 120 
150 140 
100 
145 

如果需要的話是沒有問題的。

+2

你有什麼試過?你能做出一個可重複的例子嗎? http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – 2013-02-24 11:17:47

+0

那麼最接近我做類似的東西是玩gnuplot直方圖的例子。在那裏似乎數據格式是花費已經計算,這是我需要給它這樣的事情: 100-109 110-119 etc .. 4 2 etc ... 但在這種情況下,我可以做在Python中計數(例如)。我有點在尋找一個簡單的解決方案。如果您熟悉GMT,與pshistogram命令類似,僅支持2個或更多數據集。 – Michael 2013-02-24 11:31:22

回答

7

這是很容易使R中使用哈德利韋翰的ggplot2封裝堆疊柱狀圖:

library(ggplot2) 
h <- data.frame(var=sample(letters[1:2], 100, TRUE), 
       value=rnorm(100, 0, 10)) 

ggplot(aes(x=value, color=var), data=h) + stat_bin(binwidth=5) 

卸下color=位將產生一個簡單的柱狀圖。

+0

另外,嘗試使用'fill'而不是'colour'。 – driu 2013-02-24 12:36:13

+0

+1解釋OP。 – 2013-02-24 13:03:34