getwd()
## [1] "/Users/magdalena/Downloads/FFAR data"
list.files(pattern=".csv")
## [1] "20210402 tomato setaria cowpea experiment - Sheet2.csv"
## [2] "ffar-tomato-setaria-cowpea.csv"
Data <- read.csv("ffar-tomato-setaria-cowpea.csv")
head(Data)
colnames(Data)
## [1] "Datum.ID" "Repeat"
## [3] "species" "condition"
## [5] "Pot.number" "time"
## [7] "leaf.angle" "test_data_raw_PAM"
## [9] "pump" "ECS_averaged_trace"
## [11] "fitinput" "outdata"
## [13] "ECSt.mAU" "ECS_tau"
## [15] "gH." "vH."
## [17] "P700_DIRK_averaged_trace" "P700_fitinput"
## [19] "P700_outdata" "P700_DIRK_ampl"
## [21] "tP700" "kP700"
## [23] "v_initial_P700" "LEFd_trace"
## [25] "data_raw_PAM" "Fs"
## [27] "FoPrime" "Phi2"
## [29] "PhiNPQ" "qL"
## [31] "NPQt" "PhiNO"
## [33] "FvP_over_FmP" "FmPrime"
## [35] "PSI_data_absorbance" "PS1.Active.Centers"
## [37] "PS1.Open.Centers" "PS1.Over.Reduced.Centers"
## [39] "PS1.Oxidized.Centers" "humidity_K"
## [41] "humidity2_K" "air_temp_kinetics"
## [43] "leaf_thickness" "LEAF_temp"
## [45] "Light.Intensity..PAR." "Ambient.Temperature"
## [47] "Ambient.Humidity" "Ambient.Pressure"
## [49] "Leaf.Temperature" "Leaf.Temperature.Differential"
## [51] "LEF" "Leaf.Temperature.Differenial"
## [53] "SPAD" "User"
## [55] "Device.ID" "Status"
## [57] "Notes" "Latitude"
## [59] "Longitude"
Data <- subset(Data, Data$leaf_thickness < 1)
Since we have only one timepoint for the photosynthetic measurements - let’s look immediately at the effect of stress across the species
library(ggplot2)
library(ggpubr)
FvFm_graph <- ggerrorplot(Data, y = "FvP_over_FmP", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Fv' / Fm'")
FvFm_graph <- FvFm_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
FvFm_graph <- FvFm_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
FvFm_graph
model <- aov(Data$FvP_over_FmP ~ Data$condition + Data$species + Data$condition * Data$species)
summary(model)
## Df Sum Sq Mean Sq F value Pr(>F)
## Data$condition 2 0.00079 0.00039 0.629 0.535
## Data$species 2 0.07038 0.03519 56.129 < 2e-16 ***
## Data$condition:Data$species 4 0.02867 0.00717 11.433 5.35e-08 ***
## Residuals 132 0.08275 0.00063
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(model)
PS1AC_graph <- ggerrorplot(Data, y = "PS1.Active.Centers", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Photosystem I Active Centers")
PS1AC_graph <- PS1AC_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
PS1AC_graph <- PS1AC_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
PS1AC_graph
PS1ORC_graph <- ggerrorplot(Data, y = "PS1.Over.Reduced.Centers", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Photosystem I Over-Reduced Centers")
PS1ORC_graph <- PS1ORC_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
PS1ORC_graph <- PS1ORC_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
PS1ORC_graph
## Warning: Removed 2 rows containing non-finite values (stat_summary).
## Warning: Removed 2 rows containing non-finite values (stat_compare_means).
## Warning: Removed 2 rows containing missing values (geom_point).
PS1OxC_graph <- ggerrorplot(Data, y = "PS1.Oxidized.Centers", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Photosystem I Oxidized Centers")
PS1OxC_graph <- PS1OxC_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
PS1OxC_graph <- PS1OxC_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
PS1OxC_graph
## Warning: Removed 2 rows containing non-finite values (stat_summary).
## Warning: Removed 2 rows containing non-finite values (stat_compare_means).
## Warning: Removed 2 rows containing missing values (geom_point).
PhiNO_graph <- ggerrorplot(Data, y = "PhiNO", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Phi No")
PhiNO_graph <- PhiNO_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
PhiNO_graph <- PhiNO_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
PhiNO_graph
NPQt_graph <- ggerrorplot(Data, y = "NPQt", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="NPQt")
NPQt_graph <- NPQt_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
NPQt_graph <- NPQt_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
NPQt_graph
PhiNPQ_graph <- ggerrorplot(Data, y = "PhiNPQ", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Phi NPQ")
PhiNPQ_graph <- PhiNPQ_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
PhiNPQ_graph <- PhiNPQ_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
PhiNPQ_graph
SPAD_graph <- ggerrorplot(Data, y = "SPAD", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="[Chlorophyll]")
SPAD_graph <- SPAD_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
SPAD_graph <- SPAD_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
SPAD_graph
L.temp_graph <- ggerrorplot(Data, y = "Leaf.Temperature", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Leaf temp (C)")
L.temp_graph <- L.temp_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
L.temp_graph <- L.temp_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
L.temp_graph
L.thick_graph <- ggerrorplot(Data, y = "leaf_thickness", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", facet.by = "species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Leaf thickness (mm)")
L.thick_graph <- L.thick_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
L.thick_graph <- L.thick_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
L.thick_graph
OK - let’s move on to Fresh Weight data and Evapo-transpiration data:
getwd()
## [1] "/Users/magdalena/Downloads/FFAR data"
list.files(pattern=".csv")
## [1] "20210402 tomato setaria cowpea experiment - Sheet2.csv"
## [2] "ffar-tomato-setaria-cowpea.csv"
FW.ET_data<-read.csv("20210402 tomato setaria cowpea experiment - Sheet2.csv")
head(FW.ET_data)
colnames(FW.ET_data)
## [1] "pot.no" "weight.dry" "weight.wet" "Species" "Accession"
## [6] "treatment" "X18.04.2021" "X19.04.2021" "X20.04.2021" "X21.04.2021"
## [11] "X22.04.2021" "X23.04.2021" "X24.04.2021" "X25.04.2021" "X26.04.2021"
## [16] "X27.04.2021" "X28.04.2021" "X29.04.2021" "X30.04.2021" "X01.05.2021"
## [21] "FW"
FW.ET_data$Species <- gsub("Cowpea", "cowpea", FW.ET_data$Species)
FW.ET_data$Species <- gsub("Cherry tomato", "wild tomato", FW.ET_data$Species)
FW.ET_data$Species <- gsub("Setaria", "green foxtail", FW.ET_data$Species)
Let’s start from an easy side - FW:
FW_graph <- ggerrorplot(FW.ET_data, y = "FW", x = "treatment", fill="treatment", color="treatment",
desc_stat = "mean_sd", add = "jitter", facet.by = "Species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Fresh Weight (g)")
FW_graph <- FW_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
FW_graph <- FW_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
FW_graph
## Warning: Removed 1 rows containing non-finite values (stat_summary).
## Warning: Removed 1 rows containing non-finite values (stat_compare_means).
## Warning: Removed 1 rows containing missing values (geom_point).
Finally - let’s have a look at evapotranspiration
head(FW.ET_data)
ET.data <- FW.ET_data[,c(1,4,6:20)]
library(reshape2)
ET.datam <- melt(ET.data, id.vars = c("Species", "treatment", "pot.no"))
ET.datam
colnames(ET.datam)[4] <- "date"
colnames(ET.datam)[5] <- "Evapotranspiration"
ET.datam$date <- gsub("X", "", ET.datam$date)
ET.datam$date <- gsub(".04.2021", "", ET.datam$date)
ET.datam$date <- gsub(".05.2021", "", ET.datam$date)
ET.datam$date <- gsub("01", "31", ET.datam$date)
ET.datam
ET.datam$date2 <- as.numeric(as.character(ET.datam$date))
ET.datam$date3 <- ET.datam$date2 - 18
head(ET.datam)
unique(ET.datam$date3)
## [1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13
OK - now we have the date transferred to Day of Experiment (date3), we can start plotting the evapo-transpiration rates. Let’s first compare Control to Salt Stress:
ET.datam.S <- subset(ET.datam, ET.datam$treatment == "Salt" | ET.datam$treatment == "Control")
ET.datam.D <- subset(ET.datam, ET.datam$treatment == "Drought" | ET.datam$treatment == "Control")
unique(ET.datam.S$treatment)
## [1] "Control" "Salt"
unique(ET.datam.D$treatment)
## [1] "Control" "Drought"
now - let’s plot Evapotranspiration rate - facetting the species:
ET.datam.S$date3 <- as.factor(ET.datam.S$date3)
ET_Salt_lgraph <- ggplot(data=ET.datam.S, aes(x= date3, y=Evapotranspiration, group = pot.no, color = treatment))
ET_Salt_lgraph <- ET_Salt_lgraph + geom_line(alpha = 0.1)
ET_Salt_lgraph <- ET_Salt_lgraph + stat_summary(fun.data = mean_se, geom="ribbon", linetype=0, aes(group=treatment), alpha=0.3) + stat_summary(fun.y=mean, aes(group= treatment), size=0.7, geom="line", linetype = "dashed")
## Warning: `fun.y` is deprecated. Use `fun` instead.
ET_Salt_lgraph <- ET_Salt_lgraph + ggtitle("") +facet_grid(~Species) + scale_colour_manual(values = c("dodgerblue3", "tomato1"))
ET_Salt_lgraph <- ET_Salt_lgraph + ylab("Evapotranspiration (g H2O)") + xlab("Days After Stress")
ET_Salt_lgraph <- ET_Salt_lgraph + stat_compare_means(aes(group = treatment), label = "p.signif", method = "t.test", hide.ns = T)
ET_Salt_lgraph
## Warning: Removed 2 rows containing non-finite values (stat_summary).
## Warning: Removed 2 rows containing non-finite values (stat_summary).
## Warning: Removed 2 rows containing non-finite values (stat_compare_means).
ET.datam.D$date3 <- as.factor(ET.datam.D$date3)
ET_Drought_lgraph <- ggplot(data=ET.datam.D, aes(x= date3, y=Evapotranspiration, group = pot.no, color = treatment))
ET_Drought_lgraph <- ET_Drought_lgraph + geom_line(alpha = 0.1)
ET_Drought_lgraph <- ET_Drought_lgraph + stat_summary(fun.data = mean_se, geom="ribbon", linetype=0, aes(group=treatment), alpha=0.3) + stat_summary(fun.y=mean, aes(group= treatment), size=0.7, geom="line", linetype = "dashed")
## Warning: `fun.y` is deprecated. Use `fun` instead.
ET_Drought_lgraph <- ET_Drought_lgraph + ggtitle("") +facet_grid(~Species) + scale_colour_manual(values = c("dodgerblue3", "tomato1"))
ET_Drought_lgraph <- ET_Drought_lgraph + ylab("Evapotranspiration (g H2O)") + xlab("Days After Stress")
ET_Drought_lgraph <- ET_Drought_lgraph + stat_compare_means(aes(group = treatment), label = "p.signif", method = "t.test", hide.ns = T)
ET_Drought_lgraph
Let’s just do one thing - which is transpiration per gram of FW - since we only have FW for the last day - we only will have one timepoint - but so be it.
head(FW.ET_data)
FW.ET_data$H2OpFW <- FW.ET_data$X01.05.2021 / FW.ET_data$FW
H2OpFW_graph <- ggerrorplot(FW.ET_data, y = "H2OpFW", x = "treatment", fill="treatment", color="treatment",
desc_stat = "mean_sd", add = "jitter", facet.by = "Species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="g H2O / g FW")
H2OpFW_graph <- H2OpFW_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
H2OpFW_graph <- H2OpFW_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
H2OpFW_graph
## Warning: Removed 1 rows containing non-finite values (stat_summary).
## Warning: Removed 1 rows containing non-finite values (stat_compare_means).
## Warning: Removed 1 rows containing missing values (geom_point).
one more thing to try - water consumption over the entire experiment per final fresh weight:
FW.ET_data$allH2O <- FW.ET_data$X18.04.2021 + FW.ET_data$X19.04.2021 + FW.ET_data$X20.04.2021 + FW.ET_data$X21.04.2021 + FW.ET_data$X22.04.2021 + FW.ET_data$X23.04.2021 + FW.ET_data$X24.04.2021 + FW.ET_data$X25.04.2021 + FW.ET_data$X26.04.2021 + FW.ET_data$X27.04.2021 + FW.ET_data$X28.04.2021 + FW.ET_data$X29.04.2021 + FW.ET_data$X30.04.2021 + FW.ET_data$X01.05.2021
H2O_graph <- ggerrorplot(FW.ET_data, y = "allH2O", x = "treatment", fill="treatment", color="treatment",
desc_stat = "mean_sd", add = "jitter", facet.by = "Species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="g H2O within experiment")
H2O_graph <- H2O_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
H2O_graph <- H2O_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
H2O_graph
## Warning: Removed 2 rows containing non-finite values (stat_summary).
## Warning: Removed 2 rows containing non-finite values (stat_compare_means).
## Warning: Removed 2 rows containing missing values (geom_point).
FW.ET_data$allH2OpFW <- FW.ET_data$allH2O / FW.ET_data$FW
H2OTpFW_graph <- ggerrorplot(FW.ET_data, y = "allH2OpFW", x = "treatment", fill="treatment", color="treatment",
desc_stat = "mean_sd", add = "jitter", facet.by = "Species", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="g H2O within experiment per g FW")
H2OTpFW_graph <- H2OTpFW_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
H2OTpFW_graph <- H2OTpFW_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
H2OTpFW_graph
## Warning: Removed 3 rows containing non-finite values (stat_summary).
## Warning: Removed 3 rows containing non-finite values (stat_compare_means).
## Warning: Removed 3 rows containing missing values (geom_point).
OK - and now I have to collect subset of this data focusing only on Setaria for a figure within a grant for Gaurav.
First - let’s generate alternative dataset only with Setaria:
unique(Data$species)
## [1] "green foxtail" "cowpea" "wild tomato"
Data2 <- subset(Data, Data$species == "green foxtail")
Set_FvFm_graph <- ggerrorplot(Data2, y = "FvP_over_FmP", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Fv' / Fm'")
Set_FvFm_graph <- Set_FvFm_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
Set_FvFm_graph <- Set_FvFm_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
Set_FvFm_graph
Set_L.temp_graph <- ggerrorplot(Data2, y = "Leaf.Temperature", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Leaf temp (C)")
Set_L.temp_graph <- Set_L.temp_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
Set_L.temp_graph <- Set_L.temp_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
Set_L.temp_graph
Set_L.thick_graph <- ggerrorplot(Data2, y = "leaf_thickness", x = "condition", fill="condition", color="condition",
desc_stat = "mean_sd", add = "jitter", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Leaf thickness (mm)")
Set_L.thick_graph <- Set_L.thick_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
Set_L.thick_graph <- Set_L.thick_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
Set_L.thick_graph
Cool - now we have FW / ET data that needs to be adjusted too:
unique(FW.ET_data$Species)
## [1] "cowpea" "wild tomato" "green foxtail"
FWET2 <- subset(FW.ET_data, FW.ET_data$Species == "green foxtail")
Set_FW_graph <- ggerrorplot(FWET2, y = "FW", x = "treatment", fill="treatment", color="treatment",
desc_stat = "mean_sd", add = "jitter", palette = "jco",
add.params = list(color = "darkgray"),
xlab="", ylab="Fresh Weight (g)")
Set_FW_graph <- Set_FW_graph + rremove("legend") + stat_compare_means(method="t.test", ref.group = "Control",
label = "p.signif", hide.ns = T)
Set_FW_graph <- Set_FW_graph + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
Set_FW_graph
## Warning: Removed 1 rows containing non-finite values (stat_summary).
## Warning: Removed 1 rows containing non-finite values (stat_compare_means).
## Warning: Removed 1 rows containing missing values (geom_point).
now - let’s plot Evapotranspiration rate - only for Setaria:
ET.datam.S$date3 <- as.factor(ET.datam.S$date3)
ET.S.Set <- subset(ET.datam.S, ET.datam.S$Species == "green foxtail")
Set_ET_Salt_lgraph <- ggplot(data=ET.S.Set, aes(x= date3, y=Evapotranspiration, group = pot.no, color = treatment))
Set_ET_Salt_lgraph <- Set_ET_Salt_lgraph + geom_line(alpha = 0.1)
Set_ET_Salt_lgraph <- Set_ET_Salt_lgraph + stat_summary(fun.data = mean_se, geom="ribbon", linetype=0, aes(group=treatment), alpha=0.3) + stat_summary(fun.y=mean, aes(group= treatment), size=0.7, geom="line", linetype = "dashed")
## Warning: `fun.y` is deprecated. Use `fun` instead.
Set_ET_Salt_lgraph <- Set_ET_Salt_lgraph + ggtitle("") + scale_colour_manual(values = c("dodgerblue3", "tomato1"))
Set_ET_Salt_lgraph <- Set_ET_Salt_lgraph + ylab("Evapotranspiration (g H2O)") + xlab("Days After Stress")
Set_ET_Salt_lgraph <- Set_ET_Salt_lgraph + stat_compare_means(aes(group = treatment), label = "p.signif", method = "t.test", hide.ns = T) + theme(legend.position="top")
Set_ET_Salt_lgraph
ET.datam.D$date3 <- as.factor(ET.datam.D$date3)
ET.D.Set <- subset(ET.datam.D, ET.datam.D$Species == "green foxtail")
Set_ET_Drought_lgraph <- ggplot(data=ET.datam.D, aes(x= date3, y=Evapotranspiration, group = pot.no, color = treatment))
Set_ET_Drought_lgraph <- Set_ET_Drought_lgraph + geom_line(alpha = 0.1)
Set_ET_Drought_lgraph <- Set_ET_Drought_lgraph + stat_summary(fun.data = mean_se, geom="ribbon", linetype=0, aes(group=treatment), alpha=0.3) + stat_summary(fun.y=mean, aes(group= treatment), size=0.7, geom="line", linetype = "dashed")
## Warning: `fun.y` is deprecated. Use `fun` instead.
Set_ET_Drought_lgraph <- Set_ET_Drought_lgraph + ggtitle("") + scale_colour_manual(values = c("dodgerblue3", "tomato1"))
Set_ET_Drought_lgraph <- Set_ET_Drought_lgraph + ylab("Evapotranspiration (g H2O)") + xlab("Days After Stress")
Set_ET_Drought_lgraph <- Set_ET_Drought_lgraph + stat_compare_means(aes(group = treatment), label = "p.signif", method = "t.test", hide.ns = T) + theme(legend.position="top")
Set_ET_Drought_lgraph
OK - so now for the final figures:
library(cowplot)
##
## Attaching package: 'cowplot'
## The following object is masked from 'package:ggpubr':
##
## get_legend
small_graphs <- plot_grid(Set_FW_graph, Set_L.temp_graph,
Set_FvFm_graph, Set_L.thick_graph, align = "hv",
ncol = 4, labels = "AUTO")
## Warning: Removed 1 rows containing non-finite values (stat_summary).
## Warning: Removed 1 rows containing non-finite values (stat_compare_means).
## Warning: Removed 1 rows containing missing values (geom_point).
small_graphs
ET_graphs <- plot_grid(Set_ET_Salt_lgraph, Set_ET_Drought_lgraph,
align = "v", ncol=1, labels = c("E", "F"))
ET_graphs
final_fig <- plot_grid(small_graphs, ET_graphs, rel_heights = c(1, 1.5),
ncol = 1, labels = "")
final_fig
pdf("final_Setaria.pdf", width = 8, height = 10)
plot(final_fig)
dev.off()
## quartz_off_screen
## 2