Skip to content
Back to formatted view

Raw Message

Message-ID: <983e90aa-0975-41d0-9103-a48629c013ff@sapo.pt>
Date: 2024-07-18T16:43:19Z
From: Rui Barradas
Subject: ggplot two-factor legend
In-Reply-To: <004001dad926$f2612b90$d72382b0$@gmx.ch>

?s 16:27 de 18/07/2024, SIBYLLE ST?CKLI via R-help escreveu:
> Hi
> 
> I am using ggplot to visualise y for a two-factorial group (Bio: 0 and 1) x
> = 6 years. I was able to adapt the colour of the lines (green and red) and
> the linetype (solid and dashed).
> Challenge: my code produces now two legends. One with the colors for the
> group and one with the linetype for the group. Does somebody have a hint how
> to adapt the code to produce one legend? Group 0 = red and dashed, Group 1 =
> green and solid?
> 
> 
> MS1<- MS %>% filter(QI_A!="NA") %>% droplevels()
> dev.new(width=4, height=2.75)
> par(mar = c(0,6,0,0))
> p1<-ggplot(data = MS1, aes(x= Jahr, y= QI_A,group=Bio,color=Bio,
> linetype=Bio)) +
>      	geom_smooth(aes(fill=Bio) , method = "lm" , formula = y ~ x +
> I(x^2),linewidth=1) +
> 	theme(panel.background = element_blank())+
> 	theme(axis.line = element_line(colour = "black"))+
>    theme(axis.text=element_text(size=18))+
>    theme(axis.title=element_text(size=20))+
> 	ylab("Anteil BFF an LN [%]") +xlab("Jahr")+
> 	scale_color_manual(values=c("red","dark green"), labels=c("?LN",
> "BIO"))+
> 	scale_fill_manual(values=c("red","dark green"), labels= c("?LN",
> "BIO"))+
> 	theme(legend.title = element_blank())+
>    theme(legend.text=element_text(size=20))+
>    scale_linetype_manual(values=c("dashed", "solid"))
> p1<-p1 + expand_limits(y=c(0, 30))
> 
> kind regards
> Sibylle
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
Hello,

To have one legend only, the labels must be the same. Try using

labels=c("?LN", "BIO")

in

scale_linetype_manual(values=c("dashed", "solid"), labels=c("?LN", "BIO"))


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