You should import_titillium_web first and also install the fonts on your system before trying to use this theme.

theme_ipsum_tw(base_family = "Titillium Web", base_size = 10.5,
  plot_title_family = if (.Platform$OS.type == "windows") "Titillium Web"
  else "Titillium Web Bold", plot_title_size = 18,
  plot_title_face = "bold", plot_title_margin = 10,
  subtitle_family = if (.Platform$OS.type == "windows") "Titillium Web"
  else "Titillium Web Light", subtitle_size = 13,
  subtitle_face = "plain", subtitle_margin = 15,
  strip_text_family = base_family, strip_text_size = 12,
  strip_text_face = "plain", caption_family = if (.Platform$OS.type ==
  "windows") "Titillium Web" else "Titillium Web Light",
  caption_size = 9, caption_face = "plain", caption_margin = 10,
  axis_text_size = base_size, axis_title_family = base_family,
  axis_title_size = 9, axis_title_face = "plain",
  axis_title_just = "rt", plot_margin = margin(30, 30, 30, 30),
  grid_col = "#cccccc", grid = TRUE, axis_col = "#cccccc",
  axis = FALSE, ticks = FALSE)

Arguments

base_family, base_size

base font family and size

plot_title_family, plot_title_face, plot_title_size, plot_title_margin

plot tilte family, face, size and margin

subtitle_family, subtitle_face, subtitle_size

plot subtitle family, face 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

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 justificationk one of [blmcrt]

plot_margin

plot margin (specify with ggplot2::margin)

grid_col

grid color

grid

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

axis_col

axis color

axis

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

ticks

ticks if TRUE add ticks

Details

There is an option hrbrthemes.loadfonts which -- if set to TRUE -- will call extrafont::loadfonts() to register non-core fonts with R PDF & PostScript devices. If you are running under Windows, the package calls the same function to register non-core fonts with the Windows graphics device.

Why Titillium Web?

It's free, has tolerable kerning pairs and multiple weights. It's also different than Arial Narrow and the fonts most folks use in ggplot2 charts.

Examples

# NOT RUN {
library(ggplot2)
library(dplyr)

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

# seminal bar chart

# note: make this font_rc on Windows
update_geom_font_defaults(family=font_rc_light)

count(mpg, class) %>%
  ggplot(aes(class, n)) +
  geom_col() +
  geom_text(aes(label=n), nudge_y=3) +
  labs(x="Fuel effiiency (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_ipsum_tw(grid="Y") +
  theme(axis.text.y=element_blank())
# }