Here briefly summarized the process to figure visualization based on ggplot2 packages for the manuscript (DOI coming soon). Note the descriptions may be updated at any time, and there is concern that they may contain incomplete and redundant code.The data used are not published online, but may be shared by contacting the corresponding author.
Variation in the total vegetation density between soil compaction treatments and species of seedlings under vegetation weeding. White and grey box-plots denote the no soil compaction and the soil compaction treatments. Different letters denote significant difference (p<0.05).
#package preparation
library(ggplot2)
library(patchwork)
library(lme4)
library(lmerTest)
library(lsmeans)
library(multcomp)
library(lemon)
#Data adjustment in advance, and multiple-comparison
veg<-read.csv("/Users/sugai/Desktop/NF_veg_dens_raw.csv")
m1<-glm(data=veg,tot~treat+sp+block+treat:sp+block:treat)
mul1 <- lsmeans(m1, specs=c("treat","sp"))
c_mp1<-as.data.frame(cld(mul1, sort=FALSE, Letters=LETTERS))
c_mp1$max<-c(12,21.2,12,18.8,8.8,21.2)
c_mp1$.group<-c("b","a","b","a","b","a")
veg2<-merge(veg,c_mp1,by=c("treat","sp"))
veg2<-transform(veg2,treat=factor(treat,levels=c("NC","C")))
veg2<-transform(veg2,sp=factor(sp,levels=c("todo","aka","ezo")))
lab <- as_labeller(c("todo" = "A. sachalinensis",
"aka" = "P. glehnii",
"ezo" = "P. jezoensis"))
#Visualization
ggplot()+
geom_boxplot(data=veg2,aes(x=treat,y=tot/250, fill=treat),alpha=.5)+
geom_point(data=veg2,mapping=aes(x=treat,y=tot/250,fill=treat),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=veg2,aes(x=treat,y=max,label=.group,fill=treat), position = position_dodge(.75),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
scale_x_discrete(labels=c("C" = "Compaction","NC" = "No compaction"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Total vegetation density (kg ",{m^-2},")"))))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,30),breaks = seq(0,30,10),expand = c( 0, 0 ))+
guides(fill="none")+
facet_wrap(.~veg2$sp,labeller = lab)
Variation in above- and below ground traits between soil compaction treatments and species of seedlings under vegetation weeding. White and grey box-plots denote the no soil compaction and the soil compaction treatments. Different letters denote significant difference (p<0.05).
#package preparation
library(ggplot2)
library(patchwork)
library(lme4)
library(lmerTest)
library(lsmeans)
library(multcomp)
library(performance)
library(lemon)
#Data adjustment in advance, and multiple-comparison
f3<-read.csv("/Users/sugai/Desktop/NF_sed_fig4_raw.csv")
f3[,8:14]<-log(1+f3[,8:14])
f3<-f3[f3$weeding=="W",]
m1<-glm(data=f3,rgr_r~compaction+sp+block+compaction:sp+block:compaction)
m2<-glm(data=f3,aveD~compaction+sp+block+compaction:sp+block:compaction)
m3<-glm(data=f3,srl~compaction+sp+block+compaction:sp+block:compaction)
mul1 <- lsmeans(m1, specs=c("compaction","sp" ))
mul2 <- lsmeans(m2, specs=c("compaction","sp" ))
mul3 <- lsmeans(m3, specs=c("compaction","sp" ))
c_mp1<-as.data.frame(cld(mul1, sort=FALSE, Letters=LETTERS))
c_mp2<-as.data.frame(cld(mul2, sort=FALSE, Letters=LETTERS))
c_mp3<-as.data.frame(cld(mul3, sort=FALSE, Letters=LETTERS))
c_mp1$max<-c(.19,.32,.22,.37,.31,.26)
c_mp2$max<-c(.66,.6,.59,.61,.75,.85)
c_mp3$max<-c(36,30,46,43,21,21)
c_mp1$.group<-c("ab","a","b","a","ab","a")
c_mp2$.group<-c("ab","a","b","b","a","a")
c_mp3$.group<-c("ab","ab","a","a","b","b")
#Visualization
f3<-read.csv("/Users/sugai/Desktop/NF_sed_fig4_raw.csv")
f3<-f3[f3$weeding=="W",]
f3<-transform(f3,compaction=factor(compaction,levels=c("NC","C")))
f3<-transform(f3,sp=factor(sp,levels=c("TODO","AKA","EZO")))
c_mp1<-merge(f3,c_mp1,by=c("compaction","sp"))
c_mp2<-merge(f3,c_mp2,by=c("compaction","sp"))
c_mp3<-merge(f3,c_mp3,by=c("compaction","sp"))
c_mp1<-transform(c_mp1,compaction=factor(compaction,levels=c("NC","C")))
c_mp1<-transform(c_mp1,sp=factor(sp,levels=c("TODO","AKA","EZO")))
c_mp2<-transform(c_mp2,compaction=factor(compaction,levels=c("NC","C")))
c_mp2<-transform(c_mp2,sp=factor(sp,levels=c("TODO","AKA","EZO")))
c_mp3<-transform(c_mp3,compaction=factor(compaction,levels=c("NC","C")))
c_mp3<-transform(c_mp3,sp=factor(sp,levels=c("TODO","AKA","EZO")))
lab <- as_labeller(c("AKA" = "P. glehnii ",
"EZO" = "P. jezoensis ",
"TODO" = "A. sachalinensis"))
h<-ggplot()+
geom_boxplot(data=f3,aes(x=compaction,y=365*rgr_h, fill=compaction),alpha=.5)+
geom_point(data=f3,mapping=aes(x=compaction,y=365*rgr_h, fill=compaction),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of height (",{year^-1},")"))))+
scale_x_discrete(labels=c("NC" = "No compaction","C" = "Compaction"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.4),breaks = seq(0,0.4,.1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_wrap(.~f3$sp,labeller = lab)
d<-ggplot()+
geom_boxplot(data=f3,aes(x=compaction,y=365*rgr_d0, fill=compaction),alpha=.5)+
geom_point(data=f3,mapping=aes(x=compaction,y=365*rgr_d0, fill=compaction),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of diameter (",{year^-1},")"))))+
scale_x_discrete(labels=c("NC" = "No compaction","C" = "Compaction"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.4),breaks = seq(0,0.4,.1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_wrap(.~f3$sp,labeller = lab)
v<-ggplot()+
geom_boxplot(data=f3,aes(x=compaction,y=365*rgr_v, fill=compaction),alpha=.5)+
geom_point(data=f3,mapping=aes(x=compaction,y=365*rgr_v, fill=compaction),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of volume (",{year^-1},")"))))+
scale_x_discrete(labels=c("NC" = "No compaction","C" = "Compaction"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,1.2),breaks = seq(0,1.2,.2),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_wrap(.~f3$sp,labeller = lab)
r<-ggplot()+
geom_boxplot(data=c_mp1,aes(x=compaction,y=365*rgr_r, fill=compaction),alpha=.5)+
geom_point(data=c_mp1,mapping=aes(x=compaction,y=365*rgr_r, fill=compaction),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp1,aes(x=compaction,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of root length (",{year^-1},")"))))+
scale_x_discrete(labels=c("NC" = "No compaction","C" = "Compaction"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.4),breaks = seq(0,0.4,.1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_wrap(.~c_mp1$sp,labeller = lab)
f1<-ggplot()+
geom_boxplot(data=c_mp2,aes(x=compaction,y=aveD, fill=compaction),alpha=.5)+
geom_point(data=c_mp2,mapping=aes(x=compaction,y=aveD, fill=compaction),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp2,aes(x=compaction,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Fine root diameter (mm)"))))+
scale_x_discrete(labels=c("NC" = "No compaction","C" = "Compaction"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.9),breaks = seq(0,0.9,.3),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_wrap(.~c_mp2$sp,labeller = lab)
f2<-ggplot()+
geom_boxplot(data=c_mp3,aes(x=compaction,y=srl, fill=compaction),alpha=.5)+
geom_point(data=c_mp3,mapping=aes(x=compaction,y=srl, fill=compaction),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp3,aes(x=compaction,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("SRL (m ",{g^-1},")"))))+
scale_x_discrete(labels=c("NC" = "No compaction","C" = "Compaction"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_blank(),
strip.text = element_text(size=rel(1.5),face="bold.italic"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,50),breaks = seq(0,50,10),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_wrap(.~c_mp3$sp,labeller = lab)
(h|d)/(v|r)/(f1|f2)+ plot_annotation(tag_levels = 'a', tag_prefix = '(',
tag_sep = '.', tag_suffix = ')')
Growth responses of A. sachalinensis seedlings to soil compaction and vegetation weeding. White and grey box-plots denote the weeding and the no weeding treatments. Different letters denote significant difference (p<0.05).
#package preparation
library(ggplot2)
library(patchwork)
library(lme4)
library(lmerTest)
library(lsmeans)
library(multcomp)
library(performance)
library(lemon)
#Data adjustment in advance, and multiple-comparison
f45<-read.csv("/Users/sugai/Desktop/NF_sed_fig5_raw.csv")
f45<-transform(f45,weeding=factor(weeding,levels=c("W","NW")))
f45<-transform(f45,compaction=factor(compaction,levels=c("NC","C")))
F45<-f45
F45[,8:15]<-log(1+F45[,8:15])
m1<-glm(data=F45,RGR_D0~compaction+weeding+block+compaction:weeding+block:compaction)
m2<-glm(data=F45,RGR_V~compaction+weeding+block+compaction:weeding+block:compaction)
m3<-glm(data=F45,aboveD~compaction+weeding+block+compaction:weeding+block:compaction)
m4<-glm(data=F45,belowD~compaction+weeding+block+compaction:weeding+block:compaction)
m5<-glm(data=F45,TotalD~compaction+weeding+block+compaction:weeding+block:compaction)
m6<-glm(data=F45,h~compaction+weeding+block+compaction:weeding+block:compaction)
mul1 <- lsmeans(m1, specs=c("weeding","compaction"))
mul2 <- lsmeans(m2, specs=c("weeding","compaction"))
mul3 <- lsmeans(m3, specs=c("weeding","compaction"))
mul4 <- lsmeans(m4, specs=c("weeding","compaction"))
mul5 <- lsmeans(m5, specs=c("weeding","compaction"))
mul6 <- lsmeans(m6, specs=c("weeding","compaction"))
c_mp1<-as.data.frame(cld(mul1, sort=FALSE, Letters=LETTERS))
c_mp2<-as.data.frame(cld(mul2, sort=FALSE, Letters=LETTERS))
c_mp3<-as.data.frame(cld(mul3, sort=FALSE, Letters=LETTERS))
c_mp4<-as.data.frame(cld(mul4, sort=FALSE, Letters=LETTERS))
c_mp5<-as.data.frame(cld(mul5, sort=FALSE, Letters=LETTERS))
c_mp6<-as.data.frame(cld(mul6, sort=FALSE, Letters=LETTERS))
c_mp1$max<-c(.36,.22, .36,.27)
c_mp2$max<-c(1.15,.62,.97,.87)
c_mp3$max<-c(85,30,100,55)
c_mp4$max<-c(64,17,89,35)
c_mp5$max<-c(130,40,190,80)
c_mp6$max<-c(65,50,48,48)
c_mp1$.group<-c("a","b","a","a")
c_mp2$.group<-c("a","b","a","ab")
c_mp3$.group<-c("a","b","a","c")
c_mp4$.group<-c("ab","c","a","b")
c_mp5$.group<-c("ab","c","a","b")
c_mp6$.group<-c("a","b","ab","ab")
c_mp1<-merge(f45,c_mp1,by=c("compaction","weeding"))
c_mp2<-merge(f45,c_mp2,by=c("compaction","weeding"))
c_mp3<-merge(f45,c_mp3,by=c("compaction","weeding"))
c_mp4<-merge(f45,c_mp4,by=c("compaction","weeding"))
c_mp5<-merge(f45,c_mp5,by=c("compaction","weeding"))
c_mp6<-merge(f45,c_mp6,by=c("compaction","weeding"))
c_mp1<-transform(c_mp1,weeding=factor(weeding,levels=c("W","NW")))
c_mp2<-transform(c_mp2,weeding=factor(weeding,levels=c("W","NW")))
c_mp3<-transform(c_mp3,weeding=factor(weeding,levels=c("W","NW")))
c_mp4<-transform(c_mp4,weeding=factor(weeding,levels=c("W","NW")))
c_mp5<-transform(c_mp5,weeding=factor(weeding,levels=c("W","NW")))
c_mp6<-transform(c_mp6,weeding=factor(weeding,levels=c("W","NW")))
c_mp1<-transform(c_mp1,compaction=factor(compaction,levels=c("NC","C")))
c_mp2<-transform(c_mp2,compaction=factor(compaction,levels=c("NC","C")))
c_mp3<-transform(c_mp3,compaction=factor(compaction,levels=c("NC","C")))
c_mp4<-transform(c_mp4,compaction=factor(compaction,levels=c("NC","C")))
c_mp5<-transform(c_mp5,compaction=factor(compaction,levels=c("NC","C")))
c_mp6<-transform(c_mp6,compaction=factor(compaction,levels=c("NC","C")))
#Visualization
lab2<-as_labeller(c("NC" = "No compaction","C" = "Compaction"))
a<-ggplot()+
geom_boxplot(data=f45,aes(x=weeding,y=365*RGR_H, fill=weeding),alpha=.5)+
geom_point(data=f45,mapping=aes(x=weeding,y=365*RGR_H, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of height (",{year^-1},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.4),breaks = seq(0,0.4,.1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~f45$compaction,labeller = lab2)
b<-ggplot()+
geom_boxplot(data=c_mp1,aes(x=weeding,y=365*RGR_D0, fill=weeding),alpha=.5)+
geom_point(data=c_mp1,mapping=aes(x=weeding,y=365*RGR_D0, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp1,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of diameter (",{year^-1},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.4),breaks = seq(0,0.4,.1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp1$compaction,labeller = lab2)
c<-ggplot()+
geom_boxplot(data=c_mp2,aes(x=weeding,y=365*RGR_V, fill=weeding),alpha=.5)+
geom_point(data=c_mp2,mapping=aes(x=weeding,y=365*RGR_V, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp2,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of volume (",{year^-1},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,1.2),breaks = seq(0,1.2,.3),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp2$compaction,labeller = lab2)
d<-ggplot()+
geom_boxplot(data=f45,aes(x=weeding,y=365*RGR_root, fill=weeding),alpha=.5)+
geom_point(data=f45,mapping=aes(x=weeding,y=365*RGR_root, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
scale_fill_manual(values=c("white","grey"),labels=c("W" = "Weeding",
"NW" = "No weeding"))+
theme_classic()+
labs(x="",y=expression(bold(paste("RGR of root length (",{year^-1},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,0.4),breaks = seq(0,0.4,.1),expand = c(.01, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~f45$compaction,labeller = lab2)
e<-ggplot()+
geom_boxplot(data=c_mp3,aes(x=weeding,y=aboveD, fill=weeding),alpha=.5)+
geom_point(data=c_mp3,mapping=aes(x=weeding,y=aboveD, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp3,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Aboveground biomass (g)"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,125),breaks = seq(0,125,25),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp3$compaction,labeller = lab2)
f<-ggplot()+
geom_boxplot(data=c_mp4,aes(x=weeding,y=belowD, fill=weeding),alpha=.5)+
geom_point(data=c_mp4,mapping=aes(x=weeding,y=belowD, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp4,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Belowground biomass (g)"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,100),breaks = seq(0,100,25),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp4$compaction,labeller = lab2)
g<-ggplot()+
geom_boxplot(data=c_mp5,aes(x=weeding,y=TotalD, fill=weeding),alpha=.5)+
geom_point(data=c_mp5,mapping=aes(x=weeding,y=TotalD, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp5,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Total biomass (g)"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,200),breaks = seq(0,200,50),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp5$compaction,labeller = lab2)
h<-ggplot()+
geom_boxplot(data=c_mp6,aes(x=weeding,y=h, fill=weeding),alpha=.5)+
geom_point(data=c_mp6,mapping=aes(x=weeding,y=h, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp6,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Height in 2022 (cm)"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,70),breaks = seq(0,70,10),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp6$compaction,labeller = lab2)
(a|b|c|d)/(e|f|g|h)+ plot_annotation(tag_levels = 'a', tag_prefix = '(',
tag_sep = '.', tag_suffix = ')')
Morpho-physiological responses of current needle leaves and fine roots in A. sachalinensis seedlings to soil compaction and vegetation weeding. Different letters denote significant difference (p<0.05). SRL: Specific root length, LMA: Leaf mass area, ETR: Electronic transport rate.
#package preparation
library(ggplot2)
library(patchwork)
library(lme4)
library(lmerTest)
library(lsmeans)
library(multcomp)
library(performance)
#Data adjustment in advance, and multiple-comparison
f45<-read.csv("/Users/sugai/Desktop/NF_sed_fig6_raw.csv")
f45<-transform(f45,weeding=factor(weeding,levels=c("W","NW")))
f45<-transform(f45,compaction=factor(compaction,levels=c("NC","C")))
F45<-f45
F45[,8:13]<-log(1+F45[,8:13])
m1<-glm(data=F45,aved~compaction+weeding+block+compaction:weeding+block:compaction)
m2<-glm(data=F45,srl~compaction+weeding+block+compaction:weeding+block:compaction)
m3<-glm(data=F45,tr~compaction+weeding+block+compaction:weeding+block:compaction)
m4<-glm(data=F45,lma~compaction+weeding+block+compaction:weeding+block:compaction)
m5<-glm(data=F45,na~compaction+weeding+block+compaction:weeding+block:compaction)
m6<-glm(data=F45,nm~compaction+weeding+block+compaction:weeding+block:compaction)
mul1 <- lsmeans(m1, specs=c("weeding","compaction"))
mul2 <- lsmeans(m2, specs=c("weeding","compaction"))
mul3 <- lsmeans(m3, specs=c("weeding","compaction"))
mul4 <- lsmeans(m4, specs=c("weeding","compaction"))
mul5 <- lsmeans(m5, specs=c("weeding","compaction"))
mul6 <- lsmeans(m6, specs=c("weeding","compaction"))
c_mp1<-as.data.frame(cld(mul1, sort=FALSE, Letters=LETTERS))
c_mp2<-as.data.frame(cld(mul2, sort=FALSE, Letters=LETTERS))
c_mp3<-as.data.frame(cld(mul3, sort=FALSE, Letters=LETTERS))
c_mp4<-as.data.frame(cld(mul4, sort=FALSE, Letters=LETTERS))
c_mp5<-as.data.frame(cld(mul3, sort=FALSE, Letters=LETTERS))
c_mp6<-as.data.frame(cld(mul4, sort=FALSE, Letters=LETTERS))
c_mp1$max<-c(.86,.6, .76,.66)
c_mp2$max<-c(21,35,20,27)
c_mp3$max<-c(2.7,2.7,2.1,2.7)
c_mp4$max<-c(161,136,144,134)
c_mp5$max<-c(.3,.27,.25,.27)
c_mp6$max<-c(23.1,23.1,18.2,22)
c_mp1$.group<-c("a","b","a","ab")
c_mp2$.group<-c("ab","a","b","ab")
c_mp3$.group<-c("a","a","b","a")
c_mp4$.group<-c("a","b","a","ab")
c_mp5$.group<-c("a","b","b","b")
c_mp6$.group<-c("a","ab","b","ab")
c_mp1<-merge(f45,c_mp1,by=c("compaction","weeding"))
c_mp2<-merge(f45,c_mp2,by=c("compaction","weeding"))
c_mp3<-merge(f45,c_mp3,by=c("compaction","weeding"))
c_mp4<-merge(f45,c_mp4,by=c("compaction","weeding"))
c_mp5<-merge(f45,c_mp5,by=c("compaction","weeding"))
c_mp6<-merge(f45,c_mp6,by=c("compaction","weeding"))
c_mp1<-transform(c_mp1,weeding=factor(weeding,levels=c("W","NW")))
c_mp2<-transform(c_mp2,weeding=factor(weeding,levels=c("W","NW")))
c_mp3<-transform(c_mp3,weeding=factor(weeding,levels=c("W","NW")))
c_mp4<-transform(c_mp4,weeding=factor(weeding,levels=c("W","NW")))
c_mp5<-transform(c_mp5,weeding=factor(weeding,levels=c("W","NW")))
c_mp6<-transform(c_mp6,weeding=factor(weeding,levels=c("W","NW")))
c_mp1<-transform(c_mp1,compaction=factor(compaction,levels=c("NC","C")))
c_mp2<-transform(c_mp2,compaction=factor(compaction,levels=c("NC","C")))
c_mp3<-transform(c_mp3,compaction=factor(compaction,levels=c("NC","C")))
c_mp4<-transform(c_mp4,compaction=factor(compaction,levels=c("NC","C")))
c_mp5<-transform(c_mp5,compaction=factor(compaction,levels=c("NC","C")))
c_mp6<-transform(c_mp6,compaction=factor(compaction,levels=c("NC","C")))
#Visualization
xlab <- c("NC" = "No compaction",
"C" = "Compaction")
a<-ggplot()+
geom_boxplot(data=c_mp1,aes(x=weeding,y=aved, fill=weeding),alpha=.5)+
geom_point(data=c_mp1,mapping=aes(x=weeding,y=aved, fill=weeding),
stat = "summary",fun="mean", shape=17,size=3.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp1,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("Fine root diameter (mm)"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,1),breaks = seq(0,1,.2),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp1$compaction,labeller = lab2)
b<-ggplot()+
geom_boxplot(data=c_mp2,aes(x=weeding,y=srl, fill=weeding),alpha=.5)+
geom_point(data=c_mp2,mapping=aes(x=weeding,y=srl, fill=weeding),
stat = "summary",fun="mean", shape=17,size=3.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp2,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("SRL (m ",{g^-1},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,40),breaks = seq(0,40,10),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp2$compaction,labeller = lab2)
c<-ggplot()+
geom_boxplot(data=c_mp3,aes(x=weeding,y=tr, fill=weeding),alpha=.5)+
geom_point(data=c_mp3,mapping=aes(x=weeding,y=tr, fill=weeding),
stat = "summary",fun="mean", shape=17,size=4.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp3,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("T/R ratio"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,3.5),breaks = seq(0,3.5,1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp3$compaction,labeller = lab2)
d<-ggplot()+
geom_boxplot(data=c_mp4,aes(x=weeding,y=lma, fill=weeding),alpha=.5)+
geom_point(data=c_mp4,mapping=aes(x=weeding,y=lma, fill=weeding),
stat = "summary",fun="mean", shape=17,size=3.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp4,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste("LMA (g ",{m^-2 },")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,180),breaks = seq(0,180,30),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp4$compaction,labeller = lab2)
e<-ggplot()+
geom_boxplot(data=c_mp5,aes(x=weeding,y=na, fill=weeding),alpha=.5)+
geom_point(data=c_mp5,mapping=aes(x=weeding,y=na, fill=weeding),
stat = "summary",fun="mean", shape=17,size=3.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp5,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste({N[area]}," (mgN ",{cm^-2},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,.4),breaks = seq(0,0.4,.1),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp5$compaction,labeller = lab2)
f<-ggplot()+
geom_boxplot(data=c_mp6,aes(x=weeding,y=nm, fill=weeding),alpha=.5)+
geom_point(data=c_mp6,mapping=aes(x=weeding,y=nm, fill=weeding),
stat = "summary",fun="mean", shape=17,size=3.5, alpha=.7,
position = position_dodge(width =.75))+
geom_text(data=c_mp6,aes(x=weeding,y=max,label=.group), position = position_dodge(.8),
size = rel(5), color = "black", fontface = "bold")+
scale_fill_manual(values=c("white","grey"))+
theme_classic()+
labs(x="",y=expression(bold(paste({N[mass]}," (mgN ",{g^-1},")"))))+
scale_x_discrete(labels=c("NW" = "No weeding","W" = "Weeding"))+
theme(legend.position="none",
axis.title = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.y = element_text(size=rel(1.5),face="bold",colour = "black"),
axis.text.x = element_text(size=rel(1.2),face="bold",colour = "black"),
strip.background = element_rect(colour = "grey",fill="grey"),
strip.text = element_text(size=rel(1.5),face="bold"),
plot.title = element_text(size=rel(1.5),face="bold",colour = "black"),
panel.border = element_blank(),
axis.line = element_line(),
plot.margin= unit(c(1, 1, 1, 1), "lines"))+
scale_y_continuous(limits = c(0,30),breaks = seq(0,30,10),expand = c( 0, 0 ))+
guides(fill=guide_legend(title=NULL))+
facet_grid(.~c_mp6$compaction,labeller = lab2)
(a|b|c)/(d|e|f)+ plot_annotation(tag_levels = 'a', tag_prefix = '(',
tag_sep = '.', tag_suffix = ')')