ggplot(resmat, aes(x = V1)) +
geom_line(aes(y = V2, colour = "Simulation"), lty = "solid",
linewidth = 1) +
geom_line(aes(y = V3, colour = "Closed Form"), lty = "dashed",
linewidth = 0.5) +
labs(title = "A Birthday Problem",
subtitle = "How many people would you put into a room until you are 99% \ncertain that at least two people share the same birthday? ",
caption = paste(simulations, "simulations for every number 'n' people")) +
guides(linetype = "none") +
labs(x = "People in a Room",
y = "Prob. of at least 2 birthdays falling together",
colour = NULL) +
geom_segment(aes(x = fifty_percent_confidence,
y = 0,
xend = fifty_percent_confidence,
yend = resmat[fifty_percent_confidence-1,3]),
lty = 3, colour = "black") +
geom_segment(aes(x = ninetynine_percent_confidence,
y = 0,
xend = ninetynine_percent_confidence,
yend = resmat[ninetynine_percent_confidence-1,3]),
lty = 3, colour = "black") +
annotate(geom = "text", size = 3, x = 27, y = 0.25,
label = "50%", fontface = "italic") +
annotate(geom = "text", size = 3, x = 61, y = 0.49,
label = "99%", fontface = "italic") +
scale_colour_manual(values = c("black", "dodgerblue")) +
scale_x_continuous(limits = c(1, 100), breaks = c(seq(0, 100, by=50), 23, 57)) +
scale_y_continuous(labels = scales::percent_format()) +
theme_bw() +
theme(text=element_text(size = 11, color = "black"),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
plot.title=element_text(size=14, face = "bold", color="black"),
plot.subtitle=element_text(size=12, face="italic", color="grey50"),
plot.caption=element_text(size=6, face="italic", color="grey50"))