The following code is used to plot a number of different conditions using a combination of colours and linetypes. It plots "R" using a line and "W" using a dashed line.
I'd like to split the legend into two parts: Condition for "H C" and "I C", and Model type for "R" and "W". In Condition, we want to represent lines' color. In Model type, we want to represent lines' type (e.g. dashed and non dashed lines in black).
Since I am using pipes, I have not found a solution for this so far.
library(ggplot2)
library(scales)
tribble( ~y, ~cb, ~z, ~x,
1 , 0, "H C R" ,1,
2 , 1, "H C R" ,1,
2 , 0, "I C R" ,1,
3 , 1, "I C R" ,1,
1.5 , 0, "H C W" ,1,
2 , 1, "H C W" ,1,
2 , 0, "I C W" ,1,
2 , 1, "I C W" ,1,
3 , 0, "H C R" ,2,
3 , 1, "H C R" ,2,
0.5 , 0, "I C R" ,2,
2 , 1, "I C R" ,2,
2 , 0, "H C W" ,2,
2 , 1, "H C W" ,2,
1 , 0, "I C W" ,2,
1 , 1, "I C W" ,2)-> datos
aux<-datos %>%
group_by(x, z, cb) %>%
summarise(media = mean(y),
desvio = rnorm(1),
error_est = desvio / sqrt(n()),
intervalo_sup = media + (2*error_est),
intervalo_inf = media - (2*error_est)) #%>%
library(RColorBrewer)
display.brewer.pal(11,name = "Spectral")
brewer.pal(n = 11, name = "Spectral")
# Que la línea de condición "H C" apareciera en el color anaranjado que utiliza la paleta "Spectral".
# Que la línea de condición "I C" apareciera en el color verde oscuro que utiliza la paleta "Spectral".
colores<-brewer.pal(n = 11, name = "Spectral")[c(3,3,9,9)]
ggplot() +
geom_line(data=aux%>%filter(grepl("W",z)),
aes(x = x, y = media, color = z,group = z),
size=0.5,
linetype = "dashed") +
geom_errorbar(data=aux%>%filter(grepl("W",z)),aes(x = x, color = z,
ymax = intervalo_sup,
ymin = intervalo_inf),
width=0.3) +
geom_line(data=aux%>%filter(!grepl("W",z)),
aes(x = x, y = media, color = z,group = z),
size=0.5) +
geom_errorbar(data=aux%>%filter(!grepl("W",z)),
aes(x = x, color = z,
ymax = intervalo_sup,
ymin = intervalo_inf),
width=0.3)+
labs(x = "x", y = "y", color = "Condition") +
scale_color_manual(values=colores) +
scale_x_continuous(breaks = seq(1,7, by=1)) +
theme(legend.position="bottom", legend.text=element_text(size=12)) +
guides(color=guide_legend(ncol=2)) +
theme(axis.text=element_text(size=14),
axis.title=element_text(size=14))+
facet_wrap(~cb)