Skip to content

Instantly share code, notes, and snippets.

@adamwespiser
Created July 9, 2012 17:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adamwespiser/3077780 to your computer and use it in GitHub Desktop.
Save adamwespiser/3077780 to your computer and use it in GitHub Desktop.
ggplot2 publication theme
# execute the following code to create a theme_publish object
# for example, ggplot(mtcars,aes(mpg,hp,size=wt))+geom_point()+theme_publish()
# note: for discrete colored data, use gray scale:
# > palette(gray(0:3 / 3))
# > greys <- palette()
theme_publish <- function(base_size = 12) {
structure(list(
axis.line = theme_blank(),
axis.text.x = theme_text(size = base_size * 0.8 , lineheight = 0.9, vjust = 1),
axis.text.y = theme_text(size = base_size * 0.8, lineheight = 0.9, hjust = 1),
axis.ticks = theme_segment(colour = "black", size = 0.2),
axis.title.x = theme_text(size = base_size, vjust = 1),
axis.title.y = theme_text(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.key = theme_rect(colour = "grey80"),
legend.key.size = unit(1.2, "lines"),
legend.text = theme_text(size = base_size * 0.8,family = "sans"),
legend.title = theme_text(size = base_size * 0.8, face = "bold", hjust = 0),
legend.position = "right",
panel.background = theme_rect(fill = "white", colour = NA),
panel.border = theme_rect(fill = NA, colour="grey50"),
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
panel.margin = unit(0.25, "lines"),
strip.background = theme_rect(fill = "grey80", colour = "grey50"),
strip.text.x = theme_text(size = base_size * 0.8),
strip.text.y = theme_text(size = base_size * 0.8, angle = -90),
plot.background = theme_rect(colour = NA),
plot.title = theme_text(size = base_size * 1.2),
plot.margin = unit(c(1, 1, 0.5, 0.5), "lines")
), class = "options")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment