Le 28.09.2005 09:45, Martin Maechler a écrit : >>>>>>"UweL" == Uwe Ligges <[EMAIL PROTECTED]> >>>>>> on Wed, 28 Sep 2005 08:58:16 +0200 writes: >>>>>> >>>>>> > > UweL> klebyn wrote: > >> Hi R Users, > >> > >> How to use the function polygon() together with the > >> package scatterplot3d? > >> > >> I am trying to color below of the curves defined for the > >> function density(). > >> > >> I tried to use the site: R GRAPH GALLERY as tutorial. > >> > >> I tried to adapt the example of this page: [figure]: > >> http://addictedtor.free.fr/graphiques/RGraphGallery.php?graph=30 > >> > >> [code]: > >> http://addictedtor.free.fr/graphiques/sources/source_30.R > >> > >> to my case but I do not obtain success. > >> > >> Somebody could give a tip to me, please? > >> > >> I am thankful anticipatedly. > >> > >> Cleber Borges > >> > >> > >> > >> #My code test > >> ############## > >> ................... > > UweL> Example: > > > >>> library(scatterplot3d) >>> >>> x <- c(0.4, -1.2, .8, -.7, 0) >>> d <- vector(length = length(x), mode = "list") >>> d[[1]] <- density(x[1], bw = 1.2, from = -3.0, to = 3.0) >>> d[[2]] <- density(x[2], bw = 0.8, from = -3.0, to = 3.0) >>> d[[3]] <- density(x[3], bw = 0.6, from = -2.5, to = 2.5) >>> d[[4]] <- density(x[4], bw = 0.5, from = -2.0, to = 2.0) >>> d[[5]] <- density(x[5], bw = 0.3, from = -1.5, to = 1.5) >>> >>> x <- lapply(d, "[[", "x") >>> y <- lapply(d, "[[", "y") >>> z <- lapply(seq(0.1, 0.5, 0.1), rep, each = 512) >>> >>> sx <- unlist(x) >>> sy <- unlist(y) >>> sz <- unlist(z) >>> >>> s3d <- scatterplot3d(x = sx, y = sz, z = sy, type = "n") >>> for(i in rev(seq(along=d))){ >>> s3d_coords <- s3d$xyz.convert(x[[i]], z[[i]], y[[i]]) >>> polygon(s3d_coords, col = i, border = "black") >>> } >>> >>> >>> > >Very nice, Uwe! > >To make it "perfect", you'd have to add > > s3d$box3d() > >at the end; otherwise some of the painted polygons hide lines of >the cube box which should not be hidden. > >Martin Maechler > > Very nice indeed,
may i suggest some changes in the lapply calls : x <- lapply(d, function(dd){dd$x[c(1,1:512,512)]}) y <- lapply(d, function(dd){c(0,dd$y,0)}) z <- lapply(seq(0.1, 0.5, 0.1), rep, each = 514) some densities weren't 0 at the end of the interval, so the curves seemed rotated. especially the red one. Romain -- visit the R Graph Gallery : http://addictedtor.free.fr/graphiques ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~ Romain FRANCOIS - http://addictedtor.free.fr ~~~~~~ ~~~~ Etudiant ISUP - CS3 - Industrie et Services ~~~~ ~~ http://www.isup.cicrp.jussieu.fr/ ~~ ~~~~ Stagiaire INRIA Futurs - Equipe SELECT ~~~~ ~~~~~~ http://www.inria.fr/recherche/equipes/select.fr.html ~~~~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html