[R] how to fill the area under the density line with semitransparent colors

baptiste auguie baptiste.auguie at googlemail.com
Wed Aug 19 10:40:30 CEST 2009


Hi,

One way using ggplot2,

library(ggplot2)

ggplot(data=myda, mapping=aes(x=traits, y=..density..)) +
stat_density(aes(fill=factor), alpha=0.5, col=NA, position = 'identity') +
stat_density(aes(colour = factor), geom="path", position = 'identity', size=2)

HTH,

baptiste


2009/8/19 Mao Jianfeng <jianfeng.mao at gmail.com>:
> Dear R-listers,
>
> I have created a plot to display the density lines for the same
> variable by different entities. Now, I want to fill the area under the
> density lines with semitransparent colors.
> Though I have checked that in web-searching and book-reading, I still
> do not perform that.
>
> Could anyone please give me any helps or advice? Thank you in advance.
>
> The data and code I used listed below:
>
> # dummy data
> factor<-rep(c("Alice","Jone","Mike"),each=100)
> factor<-factor(factor)
> traits<-c(rnorm(100, mean=1, sd=1), rnorm(100, mean=3, sd=3),
> rnorm(100, mean=6, sd=6))
> myda<-data.frame(factor,traits)
>
> # my plot
> plot(c(min(myda$traits),max(myda$traits)),c(-0.03,0.5), xlab='State',
> ylab='ylab')
> lines(density(myda$traits[factor==c("Alice")]), lwd=2,col=2)
> lines(density(myda$traits[factor==c("Jone")]), lwd=2,col=3)
> lines(density(myda$traits[factor==c("Mike")]), lwd=2,col=4)
> points(myda$traits[factor==c("Alice")], rep(-0.01,
> length(myda$traits[factor==c("Alice")])), pch="|", col=2)
> points(myda$traits[factor==c("Jone")], rep(-0.02,
> length(myda$traits[factor==c("Jone")])), pch="|", col=3)
> points(myda$traits[factor==c("Mike")], rep(-0.03,
> length(myda$traits[factor==c("Mike")])), pch="|", col=4)
>
> Regards,
>
> Yours
> Mao J-F
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
_____________________________

Baptiste Auguié

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

http://newton.ex.ac.uk/research/emag




More information about the R-help mailing list