我想知道如何获得9个分组条形图(3x3)togheter .
我的CSV: data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")
data <- read.csv("http://pastebin.com/raw.php?i=6pArn8GL", sep = ";")
根据“类型”A到I,9个地块应该是组合 .
然后,每个分组条形图应在y轴上具有频率,x轴按1 pce到6 pce分组并按年度分配 .
我在Excel上有以下示例(参见图像),并希望在r上使用ggplot创建相同的结果 . 可能吗?
谢谢
首先,将数据从宽格式转换为长格式 .
library(reshape2) df.long<-melt(df,id.vars=c("ID","Type","Annee"))
接下来,在导入数据期间,将字母X添加到以数字开头的变量名称中,使用 substring() 将其删除 .
substring()
df.long$variable<-substring(df.long$variable,2)
现在使用 variable 作为x, value 作为y, Annee 作为填充,使用 geom_bar() 获取条形图 . 使用 facet_wrap() ,您可以按 Type 拆分数据 .
variable
value
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)
使用@Didzis重塑数据,这里是一个点阵版本:
barchart(value~variable|Type, groups=Annee,data=df.long,layout=c(3,3), between=list(3,3), axis=axis.grid, auto.key=TRUE)
2 回答
首先,将数据从宽格式转换为长格式 .
接下来,在导入数据期间,将字母X添加到以数字开头的变量名称中,使用
substring()
将其删除 .现在使用
variable
作为x,value
作为y,Annee
作为填充,使用geom_bar()
获取条形图 . 使用facet_wrap()
,您可以按Type
拆分数据 .使用@Didzis重塑数据,这里是一个点阵版本: