У меня есть данные следующего типа:
df <- data.frame(A=runif (100),
B=rep(seq(1,50), each=2),
C=factor(c(rep(c("X1", "X2"), 50))))
Затем я перехожу к точечной диаграмме A и B и добавляю слой stat_smooth в соответствии с C.
p1 <- ggplot(df, aes(B,A)) +
geom_point(aes(col=C)) +
stat_smooth(aes(col=C))
Однако я хочу показать связь между B и A без учета группирующего фактора C.
p1 + stat_smooth(col = "black")
Я хотел бы добавить в легенду этот новый самодельный фактор (X1+X2). Есть ли способ добиться этого?
Можешь попробовать:
ggplot(df, aes(B,A)) +
geom_point(aes(col=C)) +
stat_smooth(aes(col=C)) +
scale_colour_manual(name = "Line Color",
values=c(X1 = "red", X2 = "blue", "X1-X2" = "black"),
limits = c("X1","X2","X1-X2")) +
stat_smooth(col = "black")
Теперь я нашел решение, которое включает в себя рисунок вспомогательного графика, из которого извлекается легенда, а затем упорядочивается с помощью plot_grid из пакета cowplot. Но есть ли более прямой путь?