две разные легенды для одной и той же группы в geom_line ggplot2

#r #ggplot2

#r #ggplot2

Вопрос:

Я хочу отобразить две переменные из одних и тех же групп, но мне нужно, чтобы они присутствовали в двух отдельных легендах, по одной для каждой переменной (сплошная и пунктирная линии) Поскольку они принадлежат к одной и той же группе, ggplot показывает их в одной и той же легенде.

Приведенный ниже код воспроизводит мою проблему.

 df = data.frame(
  group_ = c("A","A","A","A","A","B","B","B","B","B"),
  var1 = c(1:10),
  var2 = c(11:20),
  x_ = c(1:5))


ggplot(data=df , group = a) 
  geom_line(aes(x= x_, y=var1, color= group_)) 
  geom_line(aes(x= x_, y=var2, color= group_), lty=2)
  

введите описание изображения здесь

Комментарии:

1. Error in FUN(X[[i]], ...) : object 'b' not found

2. Моя ошибка, должно быть var1, var2 и group_… Я исправил код, спасибо NelsonGon

Ответ №1:

Вы можете попробовать изменить форму вашего фрейма данных, чтобы вы могли задать цвет aes для group и linetype aes для variable type.

 library(reshape2)
df2 <- melt(df, id.vars=c("x_", "group_"))

ggplot(data=df2) 
  geom_line(aes(x= x_, y=value, color= group_, lty=variable)) 
  

введите описание изображения здесь