[R] adding lines to multiple plot
Ben Bolker
bolker at ufl.edu
Wed Jul 30 16:04:09 CEST 2008
Gary W <g.watmough <at> gmail.com> writes:
>
>
> Hi
>
> I am trying to add density lines to multiple histograms created using R. I
> have managed to get all 18 lines on the last histogram in the series,
> however, i cannot figure out how to get each line appear on the correct
> histogram plot. I know in Matlab there is a hold function, is there
> something similar in R?
>
> ##find unique column names in table
> variablenames<-unique(names(variables))
> ## define number of unique names
> Nvariables<-length(variablenames)
> for(i in 1:Nvariables){
> par(mfrow=c(1,1),ask=TRUE)
> }
previous loop is a little weird -- it has exactly the
same result as just running the command inside once.
Labeling with the numeric values is a bit of a pain.
If you don't need them you can just do
lapply(variables,
function(v) {
hist(v,prob=TRUE)
lines(density(v),lwd=2)
})
If you need the labels you can either do
mapply(function(v,i) {
hist(v,prob=TRUE,main=paste("Histogram of",i),xlab=i)
lines(density(v),lwd=2)
},
variables,
1:Nvariables)
Or it might be easier to just do the whole thing with
a for loop:
for (i in 1:Nvariables) {
hist(variables[[i]],prob=TRUE,main=paste("Histogram of",i),xlab=i)
lines(density(variables[[i]]),lwd=2)
}
Ben Bolker
More information about the R-help
mailing list