chciałbym wykreślić lustrzanego 95% krzywej gęstości i map alfa gęstości:ggplot2: set (nieliniowe) wartości alfa
foo <- function(mw, sd, lower, upper) {
x <- seq(lower, upper, length=500)
dens <- dnorm(x, mean=mw, sd=sd, log=TRUE)
dens0 <- dens -min(dens)
return(data.frame(dens0, x))
}
df.rain <- foo(0,1,-1,1)
library(ggplot2)
drf <- ggplot(df.rain, aes(x=x, y=dens0))+
geom_line(aes(alpha=..y..))+
geom_line(aes(x=x, y=-dens0, alpha=-..y..))+
stat_identity(geom="segment", aes(xend=x, yend=0, alpha=..y..))+
stat_identity(geom="segment", aes(x=x, y=-dens0, xend=x, yend=0, alpha=-..y..))
drf
Działa to dobrze, ale chciałbym, aby kontrast pomiędzy krawędziami i środkiem jest bardziej wyraźny, tzn. chcę, aby krawędzie były prawie białe, a tylko środkowa część była czarna. Interesowałem się scale_alpha()
, ale bez powodzenia. Jakieś pomysły?
Edit: Docelowo chciałbym wykreślić kilka kropel deszczu, to znaczy poszczególne krople będą małe ale cieniowanie powinno być wyraźnie widoczne.
+1 na przykład kod! –