Skip to contents

A dark ggplot2 theme for personal use

Usage

theme_emw_dark(
  base_family = "IBM Plex Sans",
  base_size = 11.5,
  title_family = base_family,
  title_size = 18,
  title_color = "#F8F8F2",
  title_face = "bold",
  title_margin = 10,
  subtitle_family = title_family,
  subtitle_size = 13,
  subtitle_color = "#F1FA8C",
  subtitle_face = "bold",
  subtitle_margin = 15,
  strip_text_family = base_family,
  strip_text_size = 12,
  strip_text_face = "plain",
  caption_family = base_family,
  caption_size = 9,
  caption_face = "plain",
  caption_margin = 10,
  grid_color = "#44475A",
  axis_color = "#44475A",
  axis_text_size = base_size,
  axis_title_family = base_family,
  axis_title_size = 9,
  axis_title_face = "plain",
  axis_title_just = "rt",
  plot_margin = ggplot2::margin(30, 30, 30, 30, "pt"),
  grid = TRUE,
  axis = FALSE,
  ticks = FALSE
)

Arguments

base_family, base_size

base font family and size

title_family, title_face, title_size, title_color, title_margin

plot title family, face, size, color and margin

subtitle_family, subtitle_face, subtitle_size, subtitle_color

plot subtitle family, face, color and size

subtitle_margin

plot subtitle margin bottom (single numeric value)

strip_text_family, strip_text_face, strip_text_size

facet label font family, face and size

caption_family, caption_face, caption_size, caption_margin

plot caption family, face, size and margin

grid_color, axis_color

grid & axis colors; both default to #44475A

axis_text_size

font size of axis text

axis_title_family, axis_title_face, axis_title_size

axis title font family, face and size

axis_title_just

axis title font justification, one of [blmcrt]

plot_margin

text_margin plot margin (specify with ggplot2::margin())

grid

panel grid (TRUE, FALSE, or a combination of X, x, Y, y)

axis

add x or y axes? TRUE, FALSE, "xy"

ticks

ticks if TRUE add ticks

Examples

if (FALSE) { # \dontrun{
library(ggplot2)
library(dplyr)

# seminal scatterplot
ggplot(mtcars, aes(mpg, wt)) +
  geom_point() +
  labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
       title="Example ggplot2",
       subtitle="A plot that is only useful for demonstration purposes",
       caption="Brought to you by the letter 'g'") +
  theme_emw_dark()

# seminal bar chart

update_geom_font_dark()

count(mpg, class) |>
  ggplot(aes(class, n)) +
  geom_col() +
  geom_text(aes(label=n), nudge_y=3) +
  labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
       title="Seminal ggplot2 bar chart example",
       subtitle="A plot that is only useful for demonstration purposes",
       caption="Brought to you by the letter 'g'") +
  theme_emw_dark(grid="Y") +
  theme(axis.text.y=element_blank())
} # }