ggplot多个分组栏

S12*_*000 9 grouping r bar-chart ggplot2

我想知道如何获得9个分组条形图(3x3)togheter.

我的CSV: data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")

根据"类型"A到I,9个地块应该是组合.

然后,每个分组条形图应在y轴上具有频率,x轴按1 pce到6 pce分组并按年度分配.

我在Excel上有以下示例(参见图像),并希望在r上使用ggplot创建相同的结果.可能吗?

谢谢

在此输入图像描述

Did*_*rts 27

首先,将数据从宽格式转换为长格式.

library(reshape2)
df.long<-melt(df,id.vars=c("ID","Type","Annee"))
Run Code Online (Sandbox Code Playgroud)

接下来,在导入数据期间,将字母X添加到以数字开头的变量名称中,将其删除substring().

df.long$variable<-substring(df.long$variable,2)
Run Code Online (Sandbox Code Playgroud)

现在使用variablex 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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • @ Swiss12000我通过阅读和回答这里的问题来学习 (2认同)

ags*_*udy 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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述