Setting Defaults for geoms and scales ggplot2

Solution 1:

There is another method for this now. You can essentially overwrite any aesthetics scale, for example:

scale_colour_discrete <- function(...) scale_colour_brewer(..., palette="Set2")
scale_fill_discrete <- function(...) scale_fill_brewer(... , palette="Set2")

Now, your aesthetics will be coloured or filled following that behaviour.'

As per: https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/w0Tl0T_U9dI

With respect to defaults to geoms, you can use update_geom_defaults, for example:

update_geom_defaults("line",   list(size = 2))

Solution 2:

I can't think of anything useful for the geoms, but for the scales, one option would be to use the fact that components of ggplots are all simply R objects that can be saved, stored and reassigned like any other.

So you could perhaps create your own collection of "default" versions of many scales, like:

sfmDefault <- scale_fill_manual(...)
scmDefault <- scale_colour_manual(...)

etc. with your desired default values. Put them in your .RProfile or wherever and use them as needed.