Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
104 lines (99 sloc) 4.23 KB
#' Minimal ggplot2 theme using the Roboto Condensed and Roboto Bold fonts
#'
#' @param base_size base font size
#' @param strip_text_size,strip_text_margin plot strip text size and margin
#' @param subtitle_size,subtitle_margin plot subtitle size and margin
#' @param plot_title_size,plot_title_margin plot title size and margin
#' @param ... Other arguments passed to \code{theme_minimal}
#'
#' @details The Roboto Condensed and Roboto Bold fonts are both Google fonts;
#' they can be found at \url{https://fonts.google.com/specimen/Roboto+Condensed}
#' and \url{https://fonts.google.com/specimen/Roboto}. These fonts must be
#' installed locally on your computer for this theme to work.
#'
#' @examples
#' \dontrun{
#' library(ggplot2)
#'
#' ggplot(mtcars, aes(wt, mpg)) +
#' geom_point() +
#' labs(title = "A Lovely Plot",
#' subtitle = "What can the subtitle tell us?") +
#' theme_roboto()
#'}
#'
#' @export
theme_roboto <- function(base_size = 11,
strip_text_size = 12,
strip_text_margin = 5,
subtitle_size = 13,
subtitle_margin = 10,
plot_title_size = 16,
plot_title_margin = 10,
...) {
ret <- ggplot2::theme_minimal(base_family = "RobotoCondensed-Regular",
base_size = base_size, ...)
ret$strip.text <- ggplot2::element_text(hjust = 0, size=strip_text_size,
margin=margin(b=strip_text_margin),
family="Roboto-Bold")
ret$plot.subtitle <- ggplot2::element_text(hjust = 0, size=subtitle_size,
margin=margin(b=subtitle_margin),
family="RobotoCondensed-Regular")
ret$plot.title <- ggplot2::element_text(hjust = 0, size = plot_title_size,
margin=margin(b=plot_title_margin),
family="Roboto-Bold")
ret
}
#' Minimal ggplot2 theme using the IBM Plex Sans fonts
#'
#' @param base_size base font size
#' @param strip_text_size,strip_text_margin plot strip text size and margin
#' @param subtitle_size,subtitle_margin plot subtitle size and margin
#' @param plot_title_size,plot_title_margin plot title size and margin
#' @param ... Other arguments passed to \code{theme_minimal}
#'
#' @details The IBM Plex fonts are open source and can be found at
#' \url{https://ibm.github.io/type/}. These fonts must be installed locally on
#' your computer for this theme to work.
#'
#' @examples
#' \dontrun{
#' library(ggplot2)
#'
#' ggplot(mtcars, aes(wt, mpg)) +
#' geom_point() +
#' labs(title = "A Lovely Plot",
#' subtitle = "What can the subtitle tell us?") +
#' theme_plex()
#'
#' ggplot(diamonds, aes(carat, price, color = clarity)) +
#' geom_point() +
#' facet_wrap(~cut) +
#' labs(title = "A Lovely Plot",
#' subtitle = "What can the subtitle tell us?") +
#' theme_plex()
#'
#'}
#'
#' @export
theme_plex <- function(base_size = 11,
strip_text_size = 12,
strip_text_margin = 5,
subtitle_size = 13,
subtitle_margin = 10,
plot_title_size = 16,
plot_title_margin = 10,
...) {
ret <- ggplot2::theme_minimal(base_family = "IBMPlexSans",
base_size = base_size, ...)
ret$strip.text <- ggplot2::element_text(hjust = 0, size=strip_text_size,
margin=margin(b=strip_text_margin),
family="IBMPlexSans-Medium")
ret$plot.subtitle <- ggplot2::element_text(hjust = 0, size=subtitle_size,
margin=margin(b=subtitle_margin),
family="IBMPlexSans")
ret$plot.title <- ggplot2::element_text(hjust = 0, size = plot_title_size,
margin=margin(b=plot_title_margin),
family="IBMPlexSans-Bold")
ret
}
You can’t perform that action at this time.