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?
By default, ggplot2 chooses to use a specific shade of red, green, and blue for the bars.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With