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

Reply via email to