2015-03-24 11 views
5

Jestem odnosząc się do tej kwestii z SO 2 lata temu, z ggplot: Adjust Transparency (alpha) of stat_smooth lines, not just transparency of Confidence IntervalKontrola gładsza i przedział ufności

Pierwsza metoda zasugerował pozwala ustawić przezroczystość alfa przedziału ufności sam:

ggplot(head(airquality, 60), aes(x=Day, y=Temp, color=factor(Month))) + 
    geom_point() + stat_smooth(method = "lm", se=TRUE, alpha=1.0) 

enter image description here

druga metoda pozwala ustawić przezroczystość alfa dla samej linii, ale luźne przedział ufności w Tymczasem, nawet z se=TRUE:

ggplot(head(airquality, 60), aes(x=Day, y=Temp, color=factor(Month))) + 
    geom_point() + geom_line(stat='smooth', method = "lm", se=TRUE, alpha=0.3) 

enter image description here

Moje pytanie: Jak kontrolować przejrzystości zarówno linii wygładzania i przedziału ufności?

Odpowiedz

6

To oblicza model dwukrotnie. Ale zwykle nie powinno to być problemem z wydajnością.

ggplot(head(airquality, 60), aes(x=Day, y=Temp, color=factor(Month))) + 
    geom_point() + 
    geom_ribbon(stat='smooth', method = "lm", se=TRUE, alpha=0.1, 
       aes(color = NULL, group = factor(Month))) + 
    geom_line(stat='smooth', method = "lm", alpha=0.3) 

resulting plot

+0

dzięki, że działa bez zarzutu! Zakładam, że nie ma na to bezpośredniej metody. NB: Myślę, że 'se = TRUE' w geom_ribbon może zostać usunięty? – agenis

+0

@agenis jesteś świadomy bezpośredniej metody do tego od 2017 roku? Wydaje się być sprzeczne z intuicją, aby obejść to obejście. – Dan

+0

@ Czy możesz opublikować nową odpowiedź? – agenis

Powiązane problemy