rm(list=ls()) 

library(ggplot2)
library(ggpubr)
library(scales)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(readr)
## 
## Attaching package: 'readr'
## The following object is masked from 'package:scales':
## 
##     col_factor
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(chron)
## 
## Attaching package: 'chron'
## The following objects are masked from 'package:lubridate':
## 
##     days, hours, minutes, seconds, years
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(dplyr)

Setting up data

alldata<-
  read.csv(
      "https://raw.githubusercontent.com/Cmwegener/thesis/master/data/field/CB_field_data_plus.csv",
    header = TRUE
  )
alldata$date<-as.Date(alldata$date, format = c("%Y-%m-%d"))

Subset

HS<-subset(alldata, alldata$site.old == "HS")
BY<-subset(alldata, alldata$site.old == "BY")
ND<-subset(alldata, alldata$site.old == "ND")
PC<-subset(alldata, alldata$site.old == "PC")

Graph

a<-ggplot(data = HS,
          mapping = aes(x = date, y = oog.per.con, group = date)) + geom_boxplot() +
  ggtitle("Horseshoe Bay") + ylim(0, 150) +
  theme(
    plot.title = element_text(size = 12, face = "plain"),
    axis.text.x = element_text(angle = 60, hjust = 1),
    axis.text = element_text(size = 12),
    axis.title = element_text(size = 12, face = "plain"),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    axis.line = element_line(colour = "black")
  )

b<-ggplot(data = BY,
          mapping = aes(x = date, y = oog.per.con, group = date)) + geom_boxplot() + ggtitle("Brickyard Park") +
  ylim(0, 150) + theme(
    plot.title = element_text(size = 12, face = "plain"),
    axis.text.x = element_text(angle = 60, hjust = 1),
    axis.text = element_text(size = 12),
    axis.title = element_text(size = 12, face = "plain"),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    axis.line = element_line(colour = "black")
  )

c<-ggplot(data = ND,
          mapping = aes(x = date, y = oog.per.con, group = date)) + geom_boxplot() + ggtitle("Point Chauncy") +
  ylim(0, 150) + theme(
    plot.title = element_text(size = 12, face = "plain"),
    axis.text.x = element_text(angle = 60, hjust = 1),
    axis.text = element_text(size = 12),
    axis.title = element_text(size = 12, face = "plain"),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    axis.line = element_line(colour = "black")
  )

d<-ggplot(data = PC,
          mapping = aes(x = date, y = oog.per.con, group = date)) + geom_boxplot() + ggtitle("Paradise Cay") +
  ylim(0, 150) + theme(plot.title = element_text(size = 12, face = "plain")) +
  theme(
    plot.title = element_text(size = 12, face = "plain"),
    axis.text.x = element_text(angle = 60, hjust = 1),
    axis.text = element_text(size = 12),
    axis.title = element_text(size = 12, face = "plain"),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    axis.line = element_line(colour = "black")
  )

Stack and annotate

oopercfigure<-ggarrange(d,c,b,a, ncol = 4, nrow = 1)
## Warning: Removed 122 rows containing non-finite values (stat_boxplot).
## Warning: Removed 118 rows containing non-finite values (stat_boxplot).
## Warning: Removed 116 rows containing non-finite values (stat_boxplot).
## Warning: Removed 115 rows containing non-finite values (stat_boxplot).
annotate_figure(oopercfigure,
                top = text_grob("Oogonia per conceptacle", color = "black", face = "plain", size = 14), left = text_grob("Number of oogonia per conceptacle", color = "black", rot = 90, size=12))