2015-03-24 12 views
5

ich vor 2 Jahren in diese SO Frage beziehen, mit ggplot: Adjust Transparency (alpha) of stat_smooth lines, not just transparency of Confidence IntervalKontrolle Transparenz von glatten und Konfidenzintervall

Die ersten Methode vorgeschlagen, erlauben allein die Alpha-Transparenz des Konfidenzintervalls zu setzen:

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

die zweite Methode, die in der alpha-Transparenz für die Leitung selbst, aber man lose das Konfidenzintervall festlegen können Inzwischen sogar mit 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

Meine Frage: Wie sowohl die Transparenz der Glättungslinie steuern und das Konfidenzintervall?

Antwort

6

Dies berechnet das Modell zweimal. Aber normalerweise sollte das kein Leistungsproblem sein.

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

Danke, das funktioniert gut! Ich nehme an, dass es keine direkte Methode dafür gibt. NB: Ich denke, das 'se = TRUE' im geom_ribbon kann entfernt werden? – agenis

+0

@agenis kennen Sie ab 2017 eine direkte Methode? Scheint kontraintuitiv, die Problemumgehung zu umgehen – Dan

+0

@Dann können Sie eine neue Antwort posten? – agenis