On Thu, Mar 31, 2011 at 3:26 AM, Marius Hofert <m_hof...@web.de> wrote: > Dear Deepayan, > > thanks for answering. It's never too late to be useful. > > I see your point in the minimal example. I checked the z-axis limits in my > original problem for the point to be inside and it wasn't there. I can't > easily > reproduce it from the minimal example though. I'll get back to you if I run > into > this problem again. > > In the example below, both points are shown. Although one lies clearly > below/under > the surface, it looks as if it lies above. One would probably have to plot > this > point first so that the wire frame is above the point. But still, this is > misleading since the eye believes that the wireframe is *not* transparent. > This > happens because the lines connecting (0,1,0)--(1,1,0)--(1,0,0) [dashed ones] > are > not completely visible [also not the one from (1,1,0) to (1,1,1)]. How can I > make > them visible even if they lie behind/under the wireframe? I tried to work with > col="transparent" and with alpha=... but neither did work as I expected. > My goal is to make the small "rectangles" between the wire transparent. > I also use these plots in posters with a certain gradient-like background > color > and so it's a bit annoying that the "rectangles" are filled with white color.
Yes, that probably needs a new argument; the default computation is a bit of a hack. You can try the following workaround for now: wireframe(z~x*y, pts=pts, aspect=1, scales=list(col=1, arrows=FALSE), zlim=c(0,1), par.settings = list(background = list(col = "#ffffff11")), ## <- NEW 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=xlim, ylim=ylim, zlim=zlim, xlim.scaled=xlim.scaled, ylim.scaled=ylim.scaled, zlim.scaled=zlim.scaled, ...) panel.3dscatter(x=pts[,1], y=pts[,2], z=pts[,3], xlim=xlim, ylim=ylim, zlim=zlim, xlim.scaled=xlim.scaled, ylim.scaled=ylim.scaled, zlim.scaled=zlim.scaled, type="p", col=c(2,3), cex=1.8, pch=c(3,4), .scale=TRUE, ...) }) col = "#ffffff00" instead will give you full transparency (but "transparent" will not work), and col = "#ffffff77" will be less transparent and so on. -Deepayan ______________________________________________ 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.