Hi David, Thanks for the suggestion - I changed pts1 to pts, but I still got the same error as before. Do you know what else I'm doing wrong?
Thanks, Megan PS. New code is: wireframe(z ~ y*x, gridd, drape = TRUE, colorkey= TRUE, scales = list(arrows = FALSE), pts = pts1, panel.3d.wireframe = function(x, y, z,xlim, ylim, zlim, xlim.scaled, ylim.scaled, zlim.scaled, pts, ...) { panel.3dwire(x = x, y = y, z = z, xlim = c(-4, 0), ylim = c(0, 40), zlim = c(-160, 0), xlim.scaled = c(-0.5, 0.5), ylim.scaled = c(-0.5, 0.5), zlim.scaled = c(-0.5, 0.5), ...) xx <- xlim.scaled[1] + diff(xlim.scaled) * (pts$x - xlim[1]) / diff(xlim) yy <- ylim.scaled[1] + diff(ylim.scaled) * (pts$y - ylim[1]) / diff(ylim) zz <- zlim.scaled[1] + diff(zlim.scaled) * (pts$z - zlim[1]) / diff(zlim) panel.3dscatter(x = xx, y = yy, z = zz, xlim = xlim, ylim = ylim, zlim = zlim, xlim.scaled = xlim.scaled, ylim.scaled = ylim.scaled, zlim.scaled = zlim.scaled, ...) }) On Mon, Oct 24, 2011 at 12:04 PM, David Winsemius <dwinsem...@comcast.net>wrote: > > On Oct 24, 2011, at 1:23 PM, Megan Bartlett wrote: > > Hi, >> >> I'm trying to follow the suggestions given by Deepayan Sarkar in this >> message: >> >> http://tolstoy.newcastle.edu.**au/R/help/05/11/16135.html<http://tolstoy.newcastle.edu.au/R/help/05/11/16135.html> >> >> to plot 3-D points on a wireframe plot. The problem is that I keep getting >> a >> partly formed plot- with the colored lattice visible but no axis labels or >> additional points- with the error message "error using packet 1, 'x' and >> 'units' must have length >0". Does anyone know what I'm doing wrong? The >> code I've been using is: >> >> # generate some fake data >> data.frame(x = seq(-4, 0, 0.5), y = seq(0, 40, 5))-> df >> expand.grid(x = df$x, y = df$y) -> gridd >> (gridd$y* gridd$x) -> gridd$z >> >> data.frame(x = runif(10, -4, 0), y = runif(10, 0, 40))-> pts1 >> pts1$z <- pts1$x*pts1$y >> >> # plot >> >> wireframe(z ~ y*x, gridd, drape = TRUE, colorkey= TRUE, >> scales = list(arrows = FALSE), >> pts = pts1, >> panel.3d.wireframe = >> function(x, y, z,xlim, ylim, zlim, xlim.scaled, ylim.scaled, >> zlim.scaled, pts1, ...) >> >> { >> panel.3dwire(x = x, y = y, z = z, >> xlim = c(-4, 0), >> ylim = c(0, 40), >> zlim = c(-160, 0), >> xlim.scaled = c(-0.5, 0.5), >> ylim.scaled = c(-0.5, 0.5), >> zlim.scaled = c(-0.5, 0.5), >> ...) >> xx <- xlim.scaled[1] + diff(xlim.scaled) * (pts1$x - xlim[1]) / >> diff(xlim) >> yy <- ylim.scaled[1] + diff(ylim.scaled) * (pts1$y - ylim[1]) / >> diff(ylim) >> zz <- zlim.scaled[1] + diff(zlim.scaled) * (pts1$z - zlim[1]) / >> diff(zlim) >> panel.3dscatter(x = xx, >> > > You assigned 'pts1' to 'pts', so you should have used 'pts' above: > > > y = yy, >> z = zz, >> xlim = xlim, >> ylim = ylim, >> zlim = zlim, >> xlim.scaled = xlim.scaled, >> ylim.scaled = ylim.scaled, >> zlim.scaled = zlim.scaled, >> ...) >> }) >> >> Thanks so much! >> >> -Megan Bartlett >> >> [[alternative HTML version deleted]] >> >> ______________________________**________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> >> PLEASE do read the posting guide http://www.R-project.org/** >> posting-guide.html <http://www.R-project.org/posting-guide.html> >> and provide commented, minimal, self-contained, reproducible code. >> > > David Winsemius, MD > West Hartford, CT > > [[alternative HTML version deleted]] ______________________________________________ R-help@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.