Wow, i had no idea R was capable of producing graphics like that, smegging awesome!
On 20 Feb, 19:28, Duncan Murdoch <murd...@stats.uwo.ca> wrote: > On 2/20/2009 1:55 PM, Duncan Murdoch wrote: > > > > > On 2/20/2009 1:46 PM, kapo coulibaly wrote: > >> Ideally I would want it to look like a rubik cube with each little cube > >> color coded based on the fourth column (data column). Your suggestion might > >> work if I could color code based on data in the fourth column. > >> Thanks > > > There's no primitive "cube" symbol in rgl, but you can get an array of > > colour-coded spheres: > > > x <- rep(1:3, each=9) > > y <- rep(rep(1:3, each=3), 3) > > z <- rep(1:3, 9) > > colours <- terrain.colors(27) > > plot3d(x,y,z,col=colours, type="s", size=10) > > > If you really want cubes, you can put them together (start with cube3d() > > to get one, and build on that), but it's a lot of work. > > But it's Friday, so fun things like that are worth doing. Here's some > code to draw a bunch of cubes with a variety of colours. Elaborate on > it if you like. > > Duncan Murdoch > > cubes3d <- function(x,y,z,col="red",size=0.9,plot=TRUE) { > > xyz <- xyz.coords(x, y, z, recycle = TRUE) > x <- xyz$x > y <- xyz$y > z <- xyz$z > > col <- rep(col, len=length(x)) > size <- rep(size/2, len=length(x)) > > result <- list(vb=matrix(0, 4, 0), ib=matrix(1L, 4, 0), > primitivetype="quad", > material=list(color=NULL, normals=NULL)) > class(result) <- "qmesh3d" > > for (i in seq_along(x)) { > cube <- translate3d(scale3d(cube3d(), size[i], size[i], > size[i]), x[i], y[i], z[i]) > offset <- ncol(result$vb) > result$vb <- cbind(result$vb, cube$vb) > result$ib <- cbind(result$ib, cube$ib + offset) > result$material$color <- c(result$material$color, rep(col[i], > 4*ncol(cube$ib))) > } > if (plot) > shade3d(result) > invisible(result) > > } > > x <- rep(1:5, each=25) > y <- rep(rep(1:5, each=5), 5) > z <- rep(1:5, 25) > cubes3d(x,y,z,col=terrain.colors(125)) > > ______________________________________________ > r-h...@r-project.org mailing listhttps://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ 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.