On Tuesday 19 October 2004 17:12, Jean Eid wrote: > Is there any function like par(new=T) for lattice. I want to plot a > histogram in percentages on the right hand side and also superimpose the > densityplot with its density scale on the lhs. so far I am only able to do > this > histogram( temp[,2]~ temp[,1],nint=100,type="desnity", > xlab = "Population Size", > panel = function(x, ...) { > panel.histogram(x, ...) > panel.densityplot(x, col = "red", plot.points=F, lwd=2) > } ) > > If I change type="density" to type="percent" the scales for the > densityplot will be too low and all I see is a horizontal line at zero > (this is as expected) . However, I tried par(new=T) and nothing happens. I > want to be able to put percenstages on axis 2 and density values at axis > 4.
I don't think par(new=T) is what you should be looking for (and incidentally, par settings have no effect on lattice plots). It's possible to add axes after the plot (easier than it was before 2.0.0), but the design of lattice doesn't allow you to easily allocate enough space for the second set of axes. You can still do it, but it would be kludgy. Here's an example (you need to know what 'mult' should be -- it's the factor that converts the density scale to the percent scale -- it would depend on the widths of the bins and the length of x): x <- rnorm(200) mult <- 60 ## meaningless in this case histogram(x, type = "percent", panel = function(x, ...) { panel.histogram(x, ...) d <- density(x) panel.lines(d$x, mult * d$y, col = 'red') }, scales = list(y = list(tck = c(1, 0))), par.settings = list(layout.widths = list(right.padding = 5))) trellis.focus("panel", 1, 1, clip.off = TRUE) at <- pretty(c(0, 25)/mult) panel.axis(side = "right", at = mult * at, labels = at, outside = TRUE) trellis.unfocus() ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html