library(citr)
# libraries needed
source("./R/r-packages-needed.R", echo = FALSE)
source("./R/theme_raw_fig3s.r", echo = FALSE)
source("./R/davidson_2019_theme.r", echo = FALSE)
# ------------------------------------------------------------------------
# data
sim.dat <- read_csv("./data/simulated_data.csv")
# Visual para
arrow.length <- 40
touchoff.distance <- 10 # distance between data and start of arrow
arrowhead.size <- 3 # in millimeters
time.loc <- as.character()
# "1999-09-31", "2000-05-31", "2000-07-31", "2000-12-31"
points.dat <- tibble(
prediction = as.factor(c("A", "C", "B", "D")),
value = as.numeric(c(15, 88, 108, 60)),
date = as.Date(c("1999-08-20", "2000-05-01", "2000-09-13", "2000-12-25")))
# c("1999-02-01","1999-05-01","1999-08-01","1999-11-01","2000-02-01","2000-05-01","2000-08-01","2000-11-01", "2001-02-01","2001-05-01","2001-08-01","2001-11-01")
## labels
labels1 <- c("Summer", "Autumn", "Winter", "Spring", "Summer", "Autumn", "Winter", "Spring")
labels2 <- c("", "", "Non-mast year", "", "", "", "Mast year", "")
#date
date <- as.Date(as.character(c("1999-02-01","1999-05-01","1999-08-01","1999-11-01",
"2000-02-01","2000-05-01","2000-08-01","2000-11-01",
"2001-02-01","2001-05-01","2001-08-01","2001-11-01")))
## ----mod-code-seed-new, fig.height=2, fig.width=6------------------------
#plot
pseed <-ggplot(sim.dat, aes(y = beech.seed, x = date)) +
geom_rect(aes(xmin=ymd("2000-12-31"),xmax = ymd('1999-12-31'), ymin = -Inf, ymax = Inf), fill = "grey90")+
geom_line(aes(y = beech.seed, x = date), size = 0.9, colour = "grey80") +
geom_point(aes(y = beech.seed, x = date, fill = control), fill = "black",stroke = 1, shape = 23, size = 2) +
xlab("") +
ylab(expression(paste("Seed ", "(" ,italic(S[jt]),")"))) +
scale_y_continuous(expand = c(0.05, 0.05)) +
scale_x_date(breaks = date, date_labels = labels1, expand = c(0.05, 0.05)) +
# scale_fill_manual(value ss = c("black")) +
annotate("text", x=as.Date('2000-05-15'), y = 2000,
label = "Masting year", size = 3.5, colour = "black") +
annotate("text", x=as.Date('1999-07-30'), y = 2000,
label = "Non-mast year", size = 3.5, colour = "black") +
annotate("text", x=as.Date('2001-03-30'), y = 2000,
label = "Non-mast", size = 3.5, colour = "black") +
theme_bw()+
theme_new() +
theme(plot.margin=margin(t=0, r = 0, l = 0, 0, unit="cm"),
# plot.margin = unit(c(0.1,0.1,0.1,0.1), units = "cm"),
legend.position = "none",
legend.key = element_blank(),
legend.background = element_rect(fill="white", size=1),
legend.key.size=unit(1,"cm"),
legend.text = element_text(colour = "black", size =12),
legend.title = element_text(colour = "black", size =12),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.spacing = unit(2, "lines"),
panel.border = element_blank(),
axis.title.y = element_text(colour = "black",size =12,angle = 90),
axis.title.x = element_text(colour = "black",size = 10),
axis.text.y=element_text(colour = "black",size = 10),
axis.text.x = element_blank(),
axis.ticks.x = element_line(size = 1),
axis.ticks.y = element_line(size = 1),
axis.line.x = element_line(size = 1),
axis.line.y = element_line(size = 1))
pseed
# orginal plot
pseed1 <- pseed +
# geom_abline(slope = 0, intercept = 0, lty = 3, alpha = 0.8) +
theme(plot.margin=margin(t=0.03, r = 0, l = 0, b = -0.03, unit="cm"),
# plot.margin = unit(c(0.1,0.1,0.1,0.1), units = "cm"),
legend.position = "none",
legend.key = element_blank(),
legend.background = element_rect(fill="white", size=1),
legend.key.size=unit(1,"cm"),
legend.text = element_text(colour = "black", size =12),
legend.title = element_text(colour = "black", size =12),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.spacing = unit(2, "lines"),
panel.border = element_blank(),
axis.title.y = element_text(colour = "black",size =12,angle = 90),
axis.title.x = element_blank(),
axis.text.y=element_text(colour = "black",size = 10),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.ticks.y = element_line(size = 1),
axis.line.x = element_blank(),
axis.line.y = element_line(size = 1))
pseed1
#save
# png("../figs/fig-1-seed.png")
# pseed
# dev.off()
## ----fig.height=4, fig.width=6-------------------------------------------
pmice <- ggplot(sim.dat, aes(y = value, x = date)) +
geom_rect(aes(xmin=ymd("2000-12-31"),xmax = ymd('1999-12-31'), ymin = -Inf, ymax = Inf), fill = "grey90") +
geom_line(aes(group = control, col = control), size = 0.9) +
geom_point(aes(fill = control, colour = control), stroke = 1, shape = 23, size = 2, alpha = 0.8) +
xlab("Time (t)") +
ylab(expression(paste("Mice"," ", "(" ,italic(N[jt]),")"))) +
scale_y_continuous(expand = c(0.05, 0.05)) +
scale_x_date(breaks = date, date_labels = labels1, expand = c(0.05, 0.05)) +
geom_segment(data = points.dat, aes(x = date, y = value,
xend = date, yend = value + touchoff.distance + arrow.length),
arrow = arrow(length = unit(arrowhead.size, "mm"), ends = "last"), size = 1.25, colour = "red") +
geom_label(data = points.dat, aes(x = date, y = value - touchoff.distance, label = prediction),
nudge_x = 20,
nudge_y = 40) +
scale_colour_manual(name = "Stoat control",
labels = c("Yes", "No"),
values = c("cornflowerblue","darkorange")) +
scale_fill_manual(name = "Stoat control",
labels = c("Yes", "No"),
values = c("cornflowerblue","darkorange")) +
theme_bw()+
theme_new() +
theme(
# plot.margin=margin(t=0, r = 0, l = 0, 0, unit="cm"),
# plot.margin = unit(c(0.1,0.1,0.1,0.1), units = "cm"),
legend.position = "none",
legend.key = element_blank(),
legend.background = element_rect(fill="white", size=1),
legend.key.size=unit(1,"cm"),
legend.text = element_text(colour = "black", size =12),
legend.title = element_text(colour = "black", size =12),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.spacing = unit(2, "lines"),
panel.border = element_blank(),
axis.title.y = element_text(colour = "black",size =12,angle = 90),
axis.title.x = element_text(colour = "black",size = 10),
axis.text.y=element_text(colour = "black",size = 10),
axis.text.x = element_text(colour = "black",size = 10),
axis.ticks.x = element_line(size = 1),
axis.ticks.y = element_line(size = 1),
axis.line.x = element_line(size = 1),
axis.line.y = element_line(size = 1))
pmice
#save
# png("../figs/fig-1-seed.png")
# pmice
# dev.off()
## ----fig.height=4, fig.width=6-------------------------------------------
# makes graphs smaller
result.plot2 <- cowplot::plot_grid(pseed1, pmice ,nrow = 2,
align="v",
rel_heights = c(0.7, 1.3))
result.plot2
# plot code
# ,
# labels = c("a)", "b)")
# Save plot
# png("../figs/fig-1-all.png")
# result.plot2
# dev.off()
## ----orginal-plot--------------------------------------------------------
#plot
pseed <- ggplot(sim.dat, aes(y = beech.seed, x = date)) +
geom_rect(aes(xmin=ymd("2000-12-31"),xmax = ymd('1999-12-31'), ymin = -Inf, ymax = Inf), fill = "grey90")+
geom_line(aes(y = beech.seed, x = date), size = 1.1, col = "grey50", lty = 3) +
geom_point(aes(y = beech.seed, x = date, fill = control), alpha = 1, stroke = 1.5, shape = 22, size = 4.5, col = "black", fill = "black") +
geom_point(aes(y = beech.seed, x = date), alpha = 0.5, stroke = 1.5, shape = 25, size = 2,col = "black", fill = "white") +
xlab("") +
ylab(expression(paste("Seed ", "(" ,italic(S[jt]),")"))) +
scale_y_continuous(expand = c(0.05, 0.05)) +
scale_x_date(breaks = date, date_labels = labels1, expand = c(0.05, 0.05)) +
# scale_fill_manual(value ss = c("black")) +
annotate("text", x=as.Date('2000-05-15'), y = 2000,
label = "Masting year", size = 4, colour = "black", family = "Times") +
annotate("text", x=as.Date('1999-07-30'), y = 2000,
label = "Non-mast year", size = 4, colour = "black", family = "Times") +
annotate("text", x=as.Date('2001-03-30'), y = 2000,
label = "Non-mast", size = 4, colour = "black", family = "Times") +
theme_new() +
theme(
# strip.background = element_blank(),
# strip.text.y = element_blank(),
# plot.title = element_text(hjust = 0, size=14, family = "Times", color="black"),
# plot.margin = unit(c(0.1,0.1,0.1,0.1), unts = "cm"),
# plot.margin=margin(t=0.5, r = 0, l = 0, -0.05, unit="cm"),
# legend.position = "none",
# legend.key = element_blank(),
# legend.background = element_rect(fill="white", size=1),
# legend.key.size=unit(1,"cm"),
# legend.text = element_text(colour = "black", size =12, family = "Times"),
# legend.title = element_text(colour = "black", size =12, family = "Times"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
# panel.spacing = unit(2, "lines"),
panel.border = element_blank(),
# axis.title.y = element_text(colour = "black",size =12, family = "Times", angle = 90),
axis.text.y=element_text(colour = "black",size = 14, family = "Times"),
axis.title.x = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_line(size = 1),
axis.line.x = element_line(size = 1),
axis.ticks.y = element_line(size = 1),
axis.line.y = element_line(size = 1))
pseed
# build points data
# tibble my life
arrow.length <- 10
touchoff.distance <- 10 # distance between data and start of arrow
arrowhead.size <- 3 # in millimeters
time.loc <- as.character()
# "1999-09-31", "2000-05-31", "2000-07-31", "2000-12-31"
points.dat <- tibble(
prediction = as.factor(c("A", "C", "B", "D")),
value = as.numeric(c(15, 88, 108, 60)),
date = as.Date(c("1999-08-20", "2000-05-01", "2000-09-13", "2000-12-25")))
sim.dat
# c("1999-02-01","1999-05-01","1999-08-01","1999-11-01","2000-02-01","2000-05-01","2000-08-01","2000-11-01", "2001-02-01","2001-05-01","2001-08-01","2001-11-01")
sim.dat.no <- filter(sim.dat, control == "no.stoats") %>%
droplevels()
sim.dat.yes <- filter(sim.dat, control == "stoats") %>%
droplevels()
pmice <- ggplot(sim.dat, aes(y = value, x = date)) +
geom_rect(aes(xmin=ymd("2000-12-31"),xmax = ymd('1999-12-31'), ymin = -Inf, ymax = Inf), fill = "grey90") +
geom_line(aes(group = control), size = 1.1, col = "grey50", lty = 3) +
geom_point(data = sim.dat.no, aes(y = value, x = date), stroke = 1.5, shape = 25, size = 4.5,col = "black", fill = "white") +
geom_point(data = sim.dat.yes, aes(y = value, x = date), stroke = 1.5, shape = 22, size = 4.5, col = "black", fill = "black") +
xlab("Time (t)") +
ylab(expression(paste("Mice"," ", "(" ,italic(N[jt]),")"))) +
scale_y_continuous(expand = c(0.05, 0.05)) +
scale_x_date(breaks = date, date_labels = labels1, expand = c(0.05, 0.05)) +
# scale_fill_manual(values = c("white", "black")) +
scale_colour_manual(name = "Stoat control",
labels = c("Yes", "No"),
values = c("black","white")) +
scale_fill_manual(name = "Stoat control",
labels = c("Yes", "No"),
values = c("black","white")) +
geom_segment(data = points.dat, aes(x = date, y = value,
xend = date, yend = value + touchoff.distance + arrow.length),
arrow = arrow(length = unit(arrowhead.size, "mm"), ends = "last"), size = 1.25, colour = "red") +
geom_label(data = points.dat, aes(x = date, y = value - touchoff.distance, label = prediction),
nudge_x = 20,
nudge_y = 40) +
theme_new()+
theme(legend.position = c(0.1,0.5),
# plot.margin=margin(t=0, r = 0, l = 0, 0, unit="cm"),
# plot.margin = unit(c(0.1,0.1,0.1,0.1), units = "cm"),
# # legend.position = "none",
# legend.key = element_blank(),
# legend.background = element_rect(fill="white", size=1),
# legend.key.size=unit(1,"cm"),
# legend.text = element_text(colour = "black", size =16, family = "Times"),
# legend.title = element_text(colour = "black", size =16, family = "Times"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.spacing = unit(2, "lines"),
panel.border = element_blank(),
axis.title.y = element_text(colour = "black",size =14, family = "Times", angle = 90, vjust = 1),
axis.title.x = element_blank(),
axis.text.y=element_text(colour = "black",size = 14, family = "Times"),
axis.text.x = element_text(colour = "black",size = 12, family = "Times", vjust = 1),
axis.ticks.x = element_line(size = 1),
axis.ticks.y = element_line(size = 1),
axis.line.x = element_line(size = 1),
axis.line.y = element_line(size = 1),
strip.text = element_text(face="bold",colour = "black",size =14, family = "Times"))
pmice
# makes graphs smaller
result.plot <- cowplot::plot_grid(pseed, pmice ,nrow = 2,
align="v",
labels = c("a)", "b)"),
rel_heights = c(0.7, 1.3))
result.plot
# png("../figs/sim_plot.png")
# result.plot
# dev.off()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.