У вас есть данные в широком формате, с ними проще иметь легенды в длинном формате, поэтому предположим, что ваши данные выглядят так:
gazetarget_ObjPlur_ASS = data.frame(
Time = seq(0,3000,length.out=10),
Targetgaze = runif(10),
Othergaze = runif(10)
)
gazetarget_ObjPlur_TD = data.frame(
Time = seq(0,3000,length.out=10),
Targetgaze = runif(10),
Othergaze = runif(10)
)
Сначала добавим еще один столбец, аннотирующий набор данных:
gazetarget_ObjPlur_ASS$Type = "ASD"
gazetarget_ObjPlur_TD$Type = "TD"
Затем мы устанавливаем цвет / тип линии для легенды:
COLS = c("blue","red","blue","red")
LINES = c("solid","solid","dashed","dashed")
names(COLS) = c("Target ASD","Distractor ASD","Target TD","Distractor TD")
names(LINES) = c("Target ASD","Distractor ASD","Target TD","Distractor TD")
Теперь мы переводим фрейм данных в длинный формат и также меняем значения на Target / Distractor:
DF = rbind(gazetarget_ObjPlur_ASS,gazetarget_ObjPlur_TD) %>%
pivot_longer(-c(Time,Type)) %>%
mutate(name=recode_factor(name,Targetgaze="Target",Othergaze="Distractor")) %>%
mutate(Group=paste(name,Type))
Тогда сюжет:
ggplot(DF,aes(x=Time,y=value,col=Group,linetype=Group)) +
geom_line() +
scale_color_manual(values=COLS,breaks=names(COLS)) +
scale_linetype_manual(values=LINES,breaks=names(COLS))