Skip to contents

[Maturing]

Provides a base plot theme for ggplot2 to match the xaringan slide theme created by xaringanthemer. The theme is designed to create a general plot style from two colors, a background_color and a text_color (or foreground color). Also accepts an accent_color and an accent_secondary_color that are xaringanthemer is not required for the base theme. Use theme_xaringan() or theme_xaringan_inverse() in xaringan slides styled by xaringanthemer for a plot theme that matches the slide style. See vignette("ggplot2-themes") for more information and examples.

Usage

theme_xaringan_base(
  text_color,
  background_color,
  ...,
  set_ggplot_defaults = TRUE,
  accent_color = NULL,
  accent_secondary_color = NULL,
  text_font = NULL,
  text_font_use_google = NULL,
  text_font_size = NULL,
  title_font = NULL,
  title_font_use_google = NULL,
  title_font_size = NULL,
  use_showtext = NULL
)

Arguments

text_color

Color for text and foreground

background_color

Color for background

...

Ignored

set_ggplot_defaults

Should defaults be set for ggplot2 geoms? Defaults to TRUE. To restore ggplot's defaults, or the previously set geom defaults, see theme_xaringan_restore_defaults().

accent_color

Color for titles and accents, inherits from header_color or text_color. Used for the title base setting in ggplot2::theme(), and additionally for setting the color or fill of ggplot2 geom defaults.

accent_secondary_color

Color for secondary accents, inherits from text_bold_color or accent_color. Used only when setting ggplot2 geom defaults.

text_font

Font to use for text elements, passed to sysfonts::font_add_google(), if available and text_font_use_google is TRUE. Inherits from text_font_family. If manually specified, can be a google_font().

text_font_use_google

Is text_font available on Google Fonts?

text_font_size

Base text font size, inherits from text_font_size, or defaults to 11.

title_font

Font to use for title elements, passed to sysfonts::font_add_google(), if available and title_font_use_google is TRUE. Inherits from title_font_family. If manually specified, can be a google_font().

title_font_use_google

Is title_font available on Google Fonts?

title_font_size

Base text font size, inherits from title_font_size, or defaults to 14.

use_showtext

If TRUE the showtext package will be used to register Google fonts. Set to FALSE to disable this feature entirely, which may result in errors during plotting if the fonts used are not available locally. The default is TRUE when the showtext package is installed.

Value

A ggplot2 theme

See also

Other xaringanthemer ggplot2 themes: theme_xaringan_inverse(), theme_xaringan_set_defaults(), theme_xaringan()

Examples

# Requires ggplot2
has_ggplot2 <- requireNamespace("ggplot2", quietly = TRUE)

if (has_ggplot2) {
  library(ggplot2)

  plot1 <- ggplot(mpg) +
    aes(cty, hwy) +
    geom_point() +
    theme_xaringan_base(
      text_color = "#602f6b",       # imperial
      background_color = "#f8f8f8", # light gray
      accent_color = "#317873",     # myrtle green
      title_font = "sans",
      text_font = "serif",
      set_ggplot_defaults = TRUE
    ) +
    labs(
      title = "Fuel Efficiency of Various Cars",
      subtitle = "+ theme_xaringan_base()",
      caption = "xaringanthemer"
    )

  print(plot1)

  plot2 <- ggplot(mpg) +
    aes(hwy) +
    geom_histogram(binwidth = 2) +
    theme_xaringan_base(
      text_color = "#a8a9c8",       # light purple
      background_color = "#303163", # deep slate purple
      accent_color = "#ffff99",     # canary yellow
      title_font = "sans",
      text_font = "serif",
      set_ggplot_defaults = TRUE
    ) +
    labs(
      title = "Highway Fuel Efficiency",
      subtitle = "+ theme_xaringan_base()",
      caption = "xaringanthemer"
    )

  print(plot2)
}