我想知道如何获得9个分组条形图(3x3)togheter。
我的CSV:data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")
9个地块应该是“类型”A到I的组合。
然后每个分组条形图应该在y轴上有频率,x轴按1 pce到6 pce分组并按年份分配。
我在Excel上有以下示例(参见图像),并希望在r上使用ggplot创建相同的结果。有可能吗?
由于
答案 0 :(得分:27)
首先,将数据从宽格式转换为长格式。
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()
获取条形图。使用facet_wrap()
,您可以按Type
拆分数据。
ggplot(df.long,aes(variable,value,fill=as.factor(Annee)))+
geom_bar(position="dodge",stat="identity")+
facet_wrap(~Type,nrow=3)
答案 1 :(得分:9)
使用@Didzis重塑数据,这里是一个点阵版本:
barchart(value~variable|Type,
groups=Annee,data=df.long,layout=c(3,3),
between=list(3,3),
axis=axis.grid,
auto.key=TRUE)