# Publication Theme for ggplot
# from Koundy's ggplot_theme_Publication on github
# add to ggplot for publication ready graphs
# https://github.com/koundy/ggplot_theme_Publication
#
# ggpub() convert ggplot object to publication ready theme
#
#' Publication Theme for ggplot
#'
#' @param base_size default size of plot
#' @param base_family default font family
#'
#' @return a publication ready ggplot theme
#' @export
#'
ggpub <- function(base_size=14, base_family="Helvetica") {
library(gridExtra)
library(ggplot2)
library(grid)
library(ggthemes)
(theme_foundation(base_size=base_size, base_family=base_family)
+ theme(plot.title = element_text(face = "bold", size = rel(1.2), hjust = 0.5),
text = element_text(),
panel.background = element_rect(fill='white', colour='black'),
plot.background = element_rect(fill='white', colour='black'),
panel.border = element_rect(fill='white', colour='black'),
axis.title = element_text(face = "bold",size = rel(1)),
axis.title.y = element_text(angle=90,vjust =2),
axis.title.x = element_text(vjust = -0.2),
axis.text = element_text(),
axis.line = element_line(colour="black"),
axis.ticks = element_line(),
panel.grid.major = element_line(colour="#f0f0f0"),
panel.grid.minor = element_blank(),
legend.key = element_rect(fill='white', colour='black'),
legend.position = "bottom",
legend.direction = "horizontal",
legend.key.size= unit(0.2, "cm"),
legend.margin = unit(0, "cm"),
legend.title = element_text(face="italic"),
plot.margin=unit(c(10,5,5,5),"mm"),
strip.background=element_rect(colour="#f0f0f0",fill="#f0f0f0"),
strip.text = element_text(face="bold")
))
}
scale_fill_Publication <- function(...){
library(scales)
discrete_scale("fill","Publication",manual_pal(values = c("#386cb0","#fdb462","#7fc97f","#ef3b2c","#662506","#a6cee3","#fb9a99","#984ea3","#ffff33")), ...)
}
scale_colour_Publication <- function(...){
library(scales)
discrete_scale("colour","Publication",manual_pal(values = c("#386cb0","#fdb462","#7fc97f","#ef3b2c","#662506","#a6cee3","#fb9a99","#984ea3","#ffff33")), ...)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.