Thank you, that worked fine. May I also ask how to create a vector of colors with RColorBrewer? Let's say I wanted to color z with 4 shade colors from the "Paired" palette, but then assign the fifth with a color of my choice, say "black", to distinguish clearly the fifth class. If I run ``` > scale_fill_brewer(palette="BrBG") <ggproto object: Class ScaleDiscrete, Scale, gg> aesthetics: fill axis_order: function break_info: function break_positions: function breaks: waiver call: call clone: function dimension: function drop: TRUE expand: waiver get_breaks: function get_breaks_minor: function get_labels: function get_limits: function get_transformation: function guide: legend is_discrete: function is_empty: function labels: waiver limits: NULL make_sec_title: function make_title: function map: function map_df: function n.breaks.cache: NULL na.translate: TRUE na.value: NA name: waiver palette: function palette.cache: NULL position: left range: environment rescale: function reset: function train: function train_df: function transform: function transform_df: function super: <ggproto object: Class ScaleDiscrete, Scale, gg> ``` while the help says "The brewer scales provide sequential, diverging and qualitative colour schemes". How can I generate 4 shades with RColorBrewer? Thanks.
On Thu, Aug 14, 2025 at 10:00 AM Marttila Mikko <mikko.martt...@orionpharma.com> wrote: > > Hi Luigi, > > As you map z to colour, you need scale_colour_brewer, not the fill version. > And to get discrete colours, you need to make z discrete. A separate group > mapping isn't needed in this case. Try this: > > ggplot(df, aes(x=x, y=y, colour=factor(z))) + > geom_point(size=4) + > scale_colour_brewer(palette = "Paired") > > Best, > > Mikko > > -----Original Message----- > From: R-help <r-help-boun...@r-project.org> On Behalf Of Luigi Marongiu > Sent: Thursday, 14 August 2025 06:25 > To: r-help <r-help@r-project.org> > Subject: [R] How to use RColorBrewer in ggplot2? > > Hello, > I would like to define a color range to custom color some plot, specifically > made in ggplot2 (but also for normal plots). > I have been trying to use RColorBrewer but I don't get any value out of this > function. I expected it would create a vector of color values, but I must be > missing something. > What is the correct you of this function? > Thank you. > > EXAMPLE > ``` > set.seed(50) > df = data.frame(x = runif(15, 0, 1), > y = x^2 + runif(15, 0, 1), > z = rep(1:5, 3)) > library(ggplot2) > library(RColorBrewer) > ggplot(df, aes(x=x, y=y, colour=z, group=z)) + > geom_point(size=4) + > scale_fill_brewer(palette = "Paired") > ``` > > > -- > Best regards, > Luigi > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > > This e-mail transmission may contain confidential or legally privileged > information that is intended only for the individual or entity named in the > e-mail address. If you are not the intended recipient, you are hereby > notified that any disclosure, copying, distribution, or reliance upon the > contents of this e-mail is strictly prohibited. If you have received this > e-mail transmission in error, please reply to the sender, so that they can > arrange for proper delivery, and then please delete the message from your > computer systems. Thank you. -- Best regards, Luigi ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide https://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.