Ian Jonsen wrote:
Hello,
I want to add a single contour line to a levelplot but can't figure out how to do it 'on-the-fly'. When I include the last line in the code below, I get the following error:
Error in NextMethod("[") : Argument "subscripts" is missing, with no default
Any tips on how to fix this are greatly appreciated!
Ian Jonsen
levelplot(dens~nu*sigma,data=tsurflikB,at=c(-20,-10,-5,-4,-3,-2,-1), col.regions=gray(seq(0.5,0.9,length=14)),region=T,colorkey=F,aspect=1, panel=function(x,y,z,...){ panel.levelplot(x=x,y=y,z=z,...) lpoints(x[z==0],y[z==0],pch=16,cex=0.5) panel.levelplot(z~x*y,at=-3,contour=T,aspect=1) } )
You have misued panel.levelplot and also forgot (neglected?) to include "..." in the second call. I think you want something like:
# from ?levelplot library(lattice) x <- seq(pi/4, 5 * pi, length = 100) y <- seq(pi/4, 5 * pi, length = 100) r <- as.vector(sqrt(outer(x^2, y^2, "+"))) grid <- expand.grid(x = x, y = y) grid$z <- cos(r^2) * exp(-r/(pi^3)) levelplot(z ~ x * y, grid, cuts = 50, scales=list(log="e"), xlab = "", ylab = "", main = "Weird Function", sub = "with log scales", panel = function(x, y, z, at, contour, ...) { panel.levelplot(x, y, z, at = 0, contour = TRUE, ...) lpoints(x[z <= -0.5],y[z <= -0.5], pch = 16, cex = 0.5) }, colorkey = FALSE, region = TRUE)
Note the usage of "...". I also think you do not need two calls to panel.levelplot, though I may be misunderstanding your intention. One will suffice, as it does here.
--sundar
______________________________________________ [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