我想知道如何獲得9個分組條形圖(3x3)togheter。ggplot多個分組吧
我的CSV:data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")
的9所繪製應根據「類型」 A至I.
是groupes然後,每個分組的柱狀圖應具有在y軸上的頻率,x軸是通過分組1 pce到6 pce並逐年下降。
我在Excel上有下面的例子(cf. image),並且想用ggplot在r上創建相同的結果。可能嗎?
感謝
我想知道如何獲得9個分組條形圖(3x3)togheter。ggplot多個分組吧
我的CSV:data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")
的9所繪製應根據「類型」 A至I.
是groupes然後,每個分組的柱狀圖應具有在y軸上的頻率,x軸是通過分組1 pce到6 pce並逐年下降。
我在Excel上有下面的例子(cf. image),並且想用ggplot在r上創建相同的結果。可能嗎?
感謝
首先,從廣角重塑你的數據,以長格式。
library(reshape2)
df.long<-melt(df,id.vars=c("ID","Type","Annee"))
接着,作爲進口數據字母X被添加到變量名開始數時,與substring()
移除。
df.long$variable<-substring(df.long$variable,2)
現在使用的填充variable
爲x,value
爲y,Annee
和geom_bar()
得到barplot。用facet_wrap()
您可以將數據拆分Type
。
ggplot(df.long,aes(variable,value,fill=as.factor(Annee)))+
geom_bar(position="dodge",stat="identity")+
facet_wrap(~Type,nrow=3)
使用@Didzis重塑數據,這裏的格子版本:
barchart(value~variable|Type,
groups=Annee,data=df.long,layout=c(3,3),
between=list(3,3),
axis=axis.grid,
auto.key=TRUE)
您好感謝是令人印象深刻,但在我的身邊,我得到一個錯誤信息說錯誤layout_base(data,vars,drop = drop): 至少有一個圖層必須包含用於構建切面的所有變量 – S12000
@ Swiss12000您是否使用與我的代碼完全相同的代碼?如果不是,請添加您在問題中使用的代碼。 –
確實我需要一個錯誤是完美的工作感謝您的幫助。我有R Graphics Cookbook來學習ggplot,但他們沒有提到如何做更復雜的圖形。你有沒有每天學習ggplot,或者你讀過高級書籍? – S12000