Występuje problem z zamianą alfa moich (kolorowych) punktów w legendzie po dodaniu stat_smooth
.Zmienia poziom alfa punktu geom w legendzie nad stat_smooth
require(ggplot2)
set.seed(1052)
dx <- runif(2000,0,10)
dy <- dx * rep(c(1,-1), each = 1000) + rnorm(2000,0,1)
dcol <- rep(c(TRUE, FALSE), each = 1000)
dd <- data.frame(x = dx, y = dy, col = dcol)
gg <- ggplot(dd) + aes(x = x, y = y, colour = col) + geom_point(alpha = 1/5)
gg
alfa punktów przenosi się do legendy (podejmowania kolory trudne do widzenia), ale this question pokazuje, że można zastąpić dane legendy z guides
:
magic <- guides(colour = guide_legend(override.aes = list(alpha = 1)))
gg + magic
Cool. Ale kiedy rzucam stat_smooth
, magia przestaje działać.
gg + stat_smooth(method = "lm")
gg + stat_smooth(method = "lm") + magic
Jak mogę rozwiązać ten problem? Wolałbym mieć poniżej wynik dla legendy (białe tło, linia i punkt z alpha = 1
. (Kwestie wydaje się odejść, jeśli używasz geom_line
i nie stat_smooth
)
gg + geom_line(alpha = 1/10) + magic
Może to być błąd. Problem polega na standardowej wstążce błędu. Jeśli ustawisz 'se = FALSE' w' geom_smooth' rzeczy znów będą działały. Co się dzieje, to że ustawiasz 'alpha' dla punktów, ale' geom_smooth' ustawia inną alfa dla wstążki. Kiedy zastępujesz alfa legendy, jest on stosowany zarówno do punktów, jak i do szarego wypełnienia. Jeszcze nie wymyśliłem obejścia ... – joran
... jedną z opcji jest ustawienie 'show_guide = FALSE' w' geom_smooth', ale wtedy tracisz linie w legendzie. – joran
wypróbuj 'stat_smooth (method =" lm ", se = FALSE)' jeśli nie potrzebujesz SE. – kohske