Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

change the default colour palette in ggplot

Tags:

r

ggplot2

I have written a function that returns a vector of color names:

custom.colors <- function(n) {   palette <- c("dodgerblue1", "skyblue4", "chocolate1", "seagreen4",                "bisque3", "red4", "purple4", "mediumpurple3",                "maroon", "dodgerblue4", "skyblue2", "darkcyan",                "darkslategray3", "lightgreen", "bisque",                "palevioletred1", "black", "gray79", "lightsalmon4",                "darkgoldenrod1")   if (n > length(palette))     warning('palette has duplicated colours')   rep(palette, length.out=n) } 

I would like ggplot to use the above function to generate the palette by default. Maybe only for discrete scales. Using scale_manual() every time is too much of a drag. Is it possible?

like image 863
Ernest A Avatar asked May 08 '12 18:05

Ernest A


People also ask

What is the default Ggplot color palette?

By default, ggplot2 chooses to use a specific shade of red, green, and blue for the bars.

How do I specify colors in ggplot2?

To specify colors of the bar in Barplot in ggplot2, we use the scale_fill_manual function of the ggplot2 package. Within this function, we need to specify a color for each of the bars as a vector. We can use colors using names as well as hex codes.

How do I change the color scheme in R?

Navigate to Tools → Global options → Appearance and switch the theme in the Editor Theme option. By default, you will have the Textmate theme activated. There is a wide in-built variety of themes to choose, from light to dark themes.


1 Answers

To redefine the default color scale you can also just redefine the ggplot function:

ggplot <- function(...) ggplot2::ggplot(...) + scale_color_brewer(palette="Spectral") 

The same works for the fill scale.

like image 76
Holger Brandl Avatar answered Oct 02 '22 22:10

Holger Brandl