2016-03-07 70 views
0

我有一個數據框架,概括了城市和農村地區不同年齡羣體的不同家庭規模的人口數量。我希望在堆積地塊中可視化人口數值,以便每個部分的長度對應於居住在農村或城市地區的一個年齡組的家庭人口數。迄今爲止我已經創建了這兩個地塊,但都不是我想要的。ggplot2的特殊類型堆積地塊

第一次努力: First Effort

第二次努力: Second Effort

他們是不是我想要的,因爲他們使用的家用尺寸相同的顏色(S1:S7),在城市和農村地區。相反,我想爲農村地區提供7種綠色陰影,城市地區提供7種紅色陰影,以便在情節中輕鬆區分這兩種設置。

ggplot2有沒有什麼方法根據兩個標準(城市與農村,家庭規模)顯示數值?如果是這樣,它如何反映在傳說中?

非常感謝您的幫助!

+2

歡迎SO!你將需要發佈足夠的數據和代碼[最小可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610)得到完整的答案,但你可能需要'scale_fill_brewer'或類似的東西。 – alistaire

回答

0

控制透明度(alpha)可能會給你想要的情節?我與@alistaire在一起,下次您應該向我們提供數據或一段可重現的數據生成代碼。

下面是我的解決辦法

require(ggplot2) 
# Simulate some data 
n <- 1000 
set.seed(1234) 
df <- data.frame(urban = as.factor(runif(n)<0.3), 
      hsize = as.factor(sample(1:7,n,replace = TRUE)), 
      age = as.factor(sample(1:20,n,replace = TRUE, prob = 1/(sqrt(abs(1:20-10))+1)))) 

c <- ggplot(df, aes(age,fill = urban, alpha = hsize)) 
c <- c + geom_bar() 
c 

而結果是這樣的:

a possible solution

+0

非常感謝Eric。你們是對的。我應該提供更多細節。你的輸出正是我正在尋找的。但是當我運行你的代碼時,情節不會顯示出來。 –

+0

@HamidZ不客氣! msg有沒有錯誤?或者,也許你沒有告訴R輸出劇情'C'?嘗試在控制檯中運行'c'? – Bayesric

+0

我在其他地方犯了一個錯誤。現在它可以工作。謝謝! –