Thank you, facets are good but I was looking for something that could merge everything in a single plot. I found that I could create an additional column, say M (merge), that accommodates two parameters into one, for instance, `a + A`, `a + B` etc. By grouping for M, I can kind of stratify the data...
On Sun, Jun 8, 2025 at 6:03 PM Rui Barradas <ruipbarra...@sapo.pt> wrote: > > Às 07:21 de 08/06/2025, Luigi Marongiu escreveu: > > I would like to plot multivariate data with ggplot2. I have multiple > > groups that I need to account for: I have the `x` and `y` values, but > > the data must be stratified also by `w` and `z`. I can group by either > > `w` or `z`, but how can I group for both simultaneously? > > In essence, in the example below, the legend should have two columns > > (A and B) and five rows (which are already there since the data is > > stratified by w). There should be 10 colors. > > How can I do that? > > Thank you > > > >>>>>>> > > ``` > > df = data.frame(x = c(rep(1,5), rep(2,5), rep(3,5), rep(4,5)), > > w = rep(letters[1:5],4), > > z = c(rep(LETTERS[1],10), > > rep(LETTERS[2],10)), > > y = rnorm(20), > > stringsAsFactors = FALSE) > > library(ggplot2) > > ggplot(df, aes(x=x, y=y, colour=w, group=w)) + > > geom_line(linewidth=2) + > > ggtitle("A+B") > > ggplot(df[df$z=="A",], aes(x=x, y=y, colour=w, group=w)) + > > geom_line(linewidth=2) + > > ggtitle("A") > > ggplot(df[df$z=="B",], aes(x=x, y=y, colour=w, group=w)) + > > geom_line(linewidth=2) + > > ggtitle("B") > > ``` > > > > ______________________________________________ > > 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. > Hello, > > You can use the 4th variable to define facets. Like this? > > > ggplot(df, aes(x=x, y=y, colour=w)) + > geom_line(linewidth=2) + > facet_wrap(~ z, scales = "free_x") + > ggtitle("A+B") > > > Hope this helps, > > Rui Barradas > > > > -- > Este e-mail foi analisado pelo software antivírus AVG para verificar a > presença de vírus. > www.avg.com -- 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.