library(ggplot2)
library(tadaathemes)

# List all themes in package
pkg_themes <- getNamespaceExports("tadaathemes")
pkg_themes <- sort(pkg_themes[grepl("^theme\\_", pkg_themes)])

# Test plots
p_scatter <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_line(stat = "smooth", method = lm, formula = y ~ x) +
  geom_point(size = 2, alpha = .5) +
  labs(
    subtitle = "The ggplot we've all seen",
    x = "Weight", y = "Miles per Gallon",
    color = "Gears", caption = "I am also here!"
  )

p_facets <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
  facet_wrap(~Species) +
  geom_point(size = 2) +
  labs(
    subtitle = "A test case for facet things",
    x = "Sepal Length", y = "Sepal Width",
    caption = "I am also here!"
  )

p_histo <- ggplot(mtcars, aes(x = mpg)) +
  geom_histogram(binwidth = 2) +
  labs(
    subtitle = "A histogram, because histograms are a thing",
    x = "Miles per Gallon", y = "Frequency",
    caption = "I am also here!"
  )

# Make a plot with a theme provided as character argument
plot_with_theme <- function(p, theme = "theme_minimal") {
  this_theme <- eval(parse(text = theme))
  p + 
    labs(title = paste("Using", theme)) +
    this_theme()
}

Themes

for (theme in pkg_themes) {
  header <- paste("\n## ", theme, "\n\n")
  cat(header)

  print(plot_with_theme(p_scatter, theme = theme))
  cat("\n")
  print(plot_with_theme(p_histo, theme = theme))
  cat("\n")
  print(plot_with_theme(p_facets, theme = theme))
  cat("\n")
}

theme_ipsum_ss

theme_readthedown

theme_tadaa

theme_tadaark

theme_trakt