Luigi Marongiu
2022-Feb-22 14:25 UTC
[R] How to set colors, axis gap, and free scale in ggplot?
I am trying instead to increase the size with `theme(strip.text.x element_text(size = 10))` (evem from 1 onwards) or `theme(strip.text.x = element_text(face = "bold"))` but it gives an error (same in both cases, even when using `strip.text`): ``` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` No summary function supplied, defaulting to `mean_se()` Warning messages: 1: Ignoring unknown parameters: fun.y 2: Removed 24 rows containing non-finite values (stat_summary). 3: Removed 24 rows containing non-finite values (stat_summary). 4: Removed 24 rows containing missing values (geom_point). On Tue, Feb 22, 2022 at 12:41 PM Ron Crump <r.e.crump at warwick.ac.uk> wrote:> > Hi Luigi, > > > # FROM HERE IT DOES NOT WORK > > facet_grid(. ~ Species, scales="free_y") + # THE SCALE IS FIXED FOR ALL PANELS > > I don't think you can force facet_grid to do this: the y scale will > always be fixed within a row (unless someone else tells you differently, > I may have misunderstood this) - this is to allow easy comparison and, > consequently, comprehension of the graphic as you scan across a row. > > You can achieve what you want with: > facet_wrap(~ Species, nrow = 1, scales = "free_y") > but for the reason above, I'm not sure it's a good thing to do. > > > scale_colour_manual(values = c("palegreen4", "orangered3")) # THE > > COLORS ARE AUTOMATIC > > You're setting the colour manually - which relates to lines, not fill > and you have no colour aesthetic set, just a fill one. > > Use scale_fill_manual(values = c("palegreen4", "orangered3")) instead. > > > I would also like to increase the size of the axis labels and the > > title size of the panels. > > What is the correct syntax? > > See ?theme - you are interested in axis.title (maybe axis.title.x, > axis.title.y) and strip.text (the labels for the facets). See also > ?element_text as in theme, you basically want to put something like > axis.title = element_text(...), replacing ... with the settings you > want. > > For help specifically on ggplot2 and other tidyverse packages, I'd > recommend using https://community.rstudio.com in the future. > > Best wishes, > Ron. >-- Best regards, Luigi
Ron Crump
2022-Feb-22 14:35 UTC
[R] How to set colors, axis gap, and free scale in ggplot?
What error? Those are warning messages to do with your call to geom_bar. I've never used geom_bar in that way, I'd create my summaries independently of the graphing, so can't comment on how it should be used. This simple example works fine for me: ``` library(ggplot2) data(iris) ggplot(iris) + geom_point(aes(x = Sepal.Width, y = Sepal.Length)) + facet_wrap(~ Species, nrow = 1) + theme(strip.text = element_text(size = 10,face = 'bold')) ``` Ron. On 22/02/2022 14:25, Luigi Marongiu wrote:> I am trying instead to increase the size with `theme(strip.text.x > element_text(size = 10))` (evem from 1 onwards) or `theme(strip.text.x > = element_text(face = "bold"))` but it gives an error (same in both > cases, even when using `strip.text`): > ``` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > No summary function supplied, defaulting to `mean_se()` > Warning messages: > 1: Ignoring unknown parameters: fun.y > 2: Removed 24 rows containing non-finite values (stat_summary). > 3: Removed 24 rows containing non-finite values (stat_summary). > 4: Removed 24 rows containing missing values (geom_point). > > On Tue, Feb 22, 2022 at 12:41 PM Ron Crump <r.e.crump at warwick.ac.uk> wrote: >> >> Hi Luigi, >> >>> # FROM HERE IT DOES NOT WORK >>> facet_grid(. ~ Species, scales="free_y") + # THE SCALE IS FIXED FOR ALL PANELS >> >> I don't think you can force facet_grid to do this: the y scale will >> always be fixed within a row (unless someone else tells you differently, >> I may have misunderstood this) - this is to allow easy comparison and, >> consequently, comprehension of the graphic as you scan across a row. >> >> You can achieve what you want with: >> facet_wrap(~ Species, nrow = 1, scales = "free_y") >> but for the reason above, I'm not sure it's a good thing to do. >> >>> scale_colour_manual(values = c("palegreen4", "orangered3")) # THE >>> COLORS ARE AUTOMATIC >> >> You're setting the colour manually - which relates to lines, not fill >> and you have no colour aesthetic set, just a fill one. >> >> Use scale_fill_manual(values = c("palegreen4", "orangered3")) instead. >> >>> I would also like to increase the size of the axis labels and the >>> title size of the panels. >>> What is the correct syntax? >> >> See ?theme - you are interested in axis.title (maybe axis.title.x, >> axis.title.y) and strip.text (the labels for the facets). See also >> ?element_text as in theme, you basically want to put something like >> axis.title = element_text(...), replacing ... with the settings you >> want. >> >> For help specifically on ggplot2 and other tidyverse packages, I'd >> recommend using https://community.rstudio.com in the future. >> >> Best wishes, >> Ron. >> > >