Skip to content

Instantly share code, notes, and snippets.

@low-decarie
Created May 4, 2012 13:58
Show Gist options
  • Save low-decarie/2594954 to your computer and use it in GitHub Desktop.
Save low-decarie/2594954 to your computer and use it in GitHub Desktop.
ggplot2 theme_minimal
theme_minimal <- function (base_size = 12, base_family = "")
{
structure(list(axis.line = theme_blank(), axis.text.x = theme_text(family = base_family,
size = base_size * 0.8, lineheight = 0.9, vjust = 1),
axis.text.y = theme_text(family = base_family, size = base_size *
0.8, lineheight = 0.9, hjust = 1), axis.ticks = theme_segment(colour = "black",
size = 0.2), axis.title.x = theme_text(family = base_family,
size = base_size, vjust = 0), axis.title.y = theme_text(family = base_family,
size = base_size, angle = 90, vjust = 0.5), axis.ticks.length = unit(0.3,
"lines"), axis.ticks.margin = unit(0.5, "lines"), legend.background = theme_rect(colour = NA),
legend.margin = unit(0.2, "cm"), legend.key = theme_rect(colour = NA),
legend.key.size = unit(1.2, "lines"), legend.key.height = NULL,
legend.key.width = NULL, legend.text = theme_text(family = base_family,
size = base_size * 0.8), legend.text.align = NULL,
legend.title = theme_text(family = base_family, size = base_size *
0.8, face = "bold", hjust = 0), legend.title.align = NULL,
legend.position = "right", legend.direction = "vertical", legend.justification = "center",
legend.box = NULL, panel.background = theme_rect(fill = "white",
colour = NA), panel.border = theme_rect(fill = NA,
colour = "grey90"), panel.grid.major = theme_line(colour = "grey90",
size = 0.2), panel.grid.minor = theme_line(colour = "grey98",
size = 0.5), panel.margin = unit(0.25, "lines"),
strip.background = theme_rect(fill = NA, colour = NA),
strip.text.x = theme_text(family = base_family, size = base_size *
0.8), strip.text.y = theme_text(family = base_family,
size = base_size * 0.8, angle = -90), plot.background = theme_rect(colour = NA),
plot.title = theme_text(family = base_family, size = base_size *
1.2), plot.margin = unit(c(1, 1, 0.5, 0.5), "lines")),
class = "options")
}
theme_set(theme_minimal())
@low-decarie
Copy link
Author

I hope this gist is more practical for everyone than editing and parsing the wiki. I apologies if it is not. Please remove this edit if it is not.

@cgreene
Copy link

cgreene commented Sep 24, 2012

This doesn't appear to work with a checkout of the latest ggplot2 from github. When I plot, I get "Error: Don't know how to add o to a plot". If I remove this from my R script, plotting succeeds.

@dmonder
Copy link

dmonder commented Sep 26, 2012

This does not work with ggplot2 version 0.9.2.1 (the theme_xxx have been deprecated and theme_segment was not replaced with element_segment). I changed all the other theme_xxx's but I am not sure how to replace theme_segment. Any help would be great!

@nucflash
Copy link

theme_segment has been replaced with element_line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment