R/heor_style.R

Defines functions heor_style heor_style_minimal

Documented in heor_style heor_style_minimal

#' Simple HEOR ggplot style
#'
#' This function adds a simple version of the HEOR theme style to ggplot figure.
#' Add this function in your ggplot2 code to apply a simple heor style.
#'
#' @examples
#' data(mtcars)
#' my_scatplot <- ggplot(mtcars,aes(x=wt,y=mpg)) + geom_point()
#' my_scatplot + xlab('Weight (x 1000lbs)') +
#' ylab('Miles per Gallon') +
#' geom_smooth() +
#' heor_style()
#' @family themes
#' @export


heor_style <- function(){

  ggplot2::theme(

    #axis formatting
    axis.line.x=element_line(colour="black",linetype="solid",size=0.2),
    axis.line.y=element_line(colour="black",linetype="solid",size=0.2),
    axis.text.x=element_text(colour="black",size=12,face="plain",hjust=0.5,margin=margin(3,0,0,0),angle=00),
    axis.text.y=element_text(colour="black",size=12,face="plain",hjust=1.0,margin=margin(0,3,0,0),angle=00),
    axis.text.x.top=element_text(colour="black",size=12,face="plain",hjust=0.5,margin=margin(0,0,3,0),angle=00),
    axis.text.y.right=element_text(colour="black",size=12,face="plain",hjust=1.0,margin=margin(0,3,0,3),angle=00),
    axis.ticks.x=element_line(colour="black",linetype="solid",size=0.2),
    axis.ticks.y=element_line(colour="black",linetype="solid",size=0.2),
    axis.ticks.length=unit(0.1,"cm"),
    axis.title.x=element_text(colour="black",size=12,face="bold",hjust=0.5,margin=margin(10,0,0,0),angle=00),
    axis.title.y=element_text(colour="black",size=12,face="bold",hjust=0.5,margin=margin(0,10,0,0),angle=90),
    axis.title.x.top=element_text(colour="black",size=12,face="bold",hjust=0.5,margin=margin(0,0,10,0),angle=00),
    axis.title.y.right=element_text(colour="black",size=12,face="bold",hjust=0.5,margin=margin(0,0,0,10),angle=270),

    #legend formatting
    legend.background=element_blank(),
    legend.box="vertical",
    legend.direction="horizontal",
    legend.key=element_blank(),
    legend.key.height=unit(1,"cm"),
    legend.key.width=unit(1,"cm"),
    legend.margin=margin(0,0,0,0),
    legend.position="bottom",
    legend.spacing.x=unit(0.1,"cm"),
    legend.spacing.y=unit(0.1,"cm"),
    legend.text=element_text(colour="black",size=11,face="plain",angle=0),
    legend.text.align=0.5,
    legend.title=element_text(colour="black",size=11,face="bold",angle=0),
    legend.title.align=0.5,

    #gridlines and background
    panel.background=element_blank(),
    panel.border=element_rect(colour="black",linetype="solid",fill=NA,size=0.2),
    panel.spacing.x=unit(1.0,"cm"),
    panel.spacing.y=unit(1.0,"cm"),
    panel.grid.major.x=element_line(colour="grey95",linetype="solid",size=0.2),
    panel.grid.major.y=element_line(colour="grey95",linetype="solid",size=0.2),
    panel.grid.minor.x=element_blank(),
    panel.grid.minor.y=element_blank(),
    plot.margin=unit(c(0.2,1.2,0.2,0.2),"cm"),
    plot.title=element_text(colour="black",size=16,face="bold",angle=0, hjust=0),
    plot.subtitle = element_text(colour="black", size=11, face="italic"),
    strip.background=element_rect(colour="black",linetype="solid",fill="grey90",size=0.2),
    strip.text.x=element_text(colour="black",size=12,face="italic",hjust=0.5,angle=0),
    strip.text.y=element_text(colour="black",size=12,face="italic",hjust=0.5,angle=270)
  )
}


#' Minimalistic HEOR ggplot style
#'
#' This function adds a minimalistic HEOR theme without background.
#' Add this function in your ggplot2 code chain to apply a simple heor style.
#'
#' @examples
#' data(mtcars)
#' my_scatplot <- ggplot(mtcars,aes(x=wt,y=mpg)) + geom_point()
#' my_scatplot + xlab('Weight (x 1000lbs)') +
#' ylab('Miles per Gallon') +
#' geom_smooth() +
#' heor_style_half_open()
#' @family themes
#' @export

heor_style_minimal <- function(){

  ggplot2::theme(

    #axis formatting
    axis.line.x=element_line(colour="black",linetype="solid",size=0.2),
    axis.line.y=element_line(colour="black",linetype="solid",size=0.2),
    axis.text.x=element_text(colour="black",size=10,face="plain",hjust=0.5,margin=margin(3,0,0,0),angle=00),
    axis.text.y=element_text(colour="black",size=10,face="plain",hjust=1.0,margin=margin(0,3,0,0),angle=00),
    axis.text.x.top=element_text(colour="black",size=10,face="plain",hjust=0.5,margin=margin(0,0,3,0),angle=00),
    axis.text.y.right=element_text(colour="black",size=10,face="plain",hjust=1.0,margin=margin(0,3,0,3),angle=00),
    axis.ticks.x=element_line(colour="black",linetype="solid",size=0.2),
    axis.ticks.y=element_line(colour="black",linetype="solid",size=0.2),
    axis.ticks.length=unit(0.1,"cm"),
    axis.title.x=element_text(colour="black",size=10,face="bold",margin=margin(10,0,0,0),angle=00),
    axis.title.y=element_text(colour="black",size=10,face="bold",margin=margin(0,10,0,0),angle=90),
    axis.title.x.top=element_text(colour="black",size=10,face="bold",margin=margin(0,0,10,0),angle=00),
    axis.title.y.right=element_text(colour="black",size=10,face="bold",margin=margin(0,0,0,10),angle=270),

    #legend formatting
    legend.background=element_blank(),
    legend.box="vertical",
    legend.direction="horizontal",
    legend.key=element_blank(),
    legend.key.height=unit(1,"cm"),
    legend.key.width=unit(1,"cm"),
    legend.margin=margin(0,0,0,0),
    legend.position="bottom",
    legend.spacing.x=unit(0.1,"cm"),
    legend.spacing.y=unit(0.1,"cm"),
    legend.text=element_text(colour="black",size=12,face="plain",angle=0),
    legend.text.align=0.5,
    legend.title=element_text(colour="black",size=12,face="bold",angle=0),
    legend.title.align=0.5,

    #gridlines and background
    panel.background=element_blank(),
    panel.border=element_blank(),
    panel.spacing.x=unit(1.0,"cm"),
    panel.spacing.y=unit(1.0,"cm"),
    panel.grid.major=element_blank(),
    panel.grid.minor=element_blank(),
    plot.margin=unit(c(0.2,1.2,0.2,0.2),"cm"),
    plot.title=element_text(colour="black",size=16,face="bold",angle=0, hjust=0),
    plot.subtitle = element_text(colour="black", size=11, face="italic"),
    strip.background=element_rect(colour="black",linetype="solid",fill="grey90",size=0.2),
    strip.text.x=element_text(colour="black",size=12,face="italic",hjust=0.5,angle=0),
    strip.text.y=element_text(colour="black",size=12,face="italic",hjust=0.5,angle=270)
  )
}
Alik-V/heor documentation built on April 4, 2020, 9:38 p.m.