The current/active theme is automatically applied to every plot you draw.
theme_get to get the current theme, and
completely override it.
shorthands for changing individual elements.
1 2 3 4 5 6 7 8 9
new theme (a list of theme elements)
named list of theme settings
Theme and element to combine
invisibly return the previous theme so you can easily save it, then
later restore it.
%+replace% can be used to modify elements in themes.
+ updates the elements of e1 that differ from elements specified (not
NULL) in e2. Thus this operator can be used to incrementally add or modify
attributes of a ggplot theme.
%+replace% replaces the entire element; any element of
a theme not specified in e2 will not be present in the resulting theme (i.e.
NULL). Thus this operator can be used to overwrite an entire theme.
theme_update uses the
+ operator, so that any unspecified
values in the theme element will default to the values they are set in the
%+replace% tocompletely replace
the element, so any unspecified values will overwrite the current value in
the theme with
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point() p # Use theme_set() to completely override the current theme. # Here we have the old theme so we can later restore it. # Note that the theme is applied when the plot is drawn, not # when it is created. old <- theme_set(theme_bw()) p theme_set(old) p # Modifying theme objects ----------------------------------------- # You can use + and %+replace% to modify a theme object. # They differ in how they deal with missing arguments in # the theme elements. add_el <- theme_grey() + theme(text = element_text(family = "Times")) add_el$text rep_el <- theme_grey() %+replace% theme(text = element_text(family = "Times")) rep_el$text # theme_update() and theme_replace() are similar except they # apply directly to the current/active theme.