2016-04-23 13 views
1

私はプロットの数十は、はるかに複雑が、何らかの理由で私の脳が出て、このいずれかを動作していないんだ...データフレームとのコードを考える奇数ggplot積み上げ棒出力

...

# libraries 
require(ggplot2) 
require(dplyr) 
require(tidyr) 

# create data 
data <- data.frame("When"=c("(2008 - 2009)","(2010 - 2011)","(2012 - 2013)","(2014-2015)","Cannot Remember"), 
        "Friend"=c(2,7,15,3,0), 
        "News Website"=c(2,10,8,3,1), 
        "Printed Newspaper"=c(0,1,3,0,0), 
        "Academic Paper"=c(0,0,2,0,0), 
        "Online Forum"=c(6,16,25,6,1), 
        "Cannot Remember"=c(1,3,7,2,1) 
        ) 

# reshape to long format 
data <- gather(data,var,val,2:7) 

# plot stacked bar 
ggplot(data[which(data$val>0),],aes(x=When, Y=val)) + 
     geom_bar(aes(fill=var)) 

私は積み重なったバーを得ていて、this postのように形を変えようとしましたが、バー(とサブバー)はテーブルの値ではなく、6でトッピングしています。これまでに2時間の手品をしていて、私はこの権利を得ることができません。

Not the plot I was expecting

誰かが私のaddled脳を保存することができますしてください?

答えて

2

こんにちは、あなたのaesに大文字でYを持っている、とあなたがしよう、stat = "identity"を設定する必要があります。

ggplot(data[which(data$val>0),],aes(x=When, y=val)) + 
    geom_bar(aes(fill=var), stat = "identity") 
+0

二時間!!!!!大文字の "Y"の場合.. arghhhhhh !!!!!!!それを見つけてくれてありがとう – BarneyC

関連する問題