Jorge Ivan Velez
2011-Mar-02 21:54 UTC
[R-es] Colores en grafico 3D usando una 4a variable
* Buenas tardes a tod@s, Tengo 4 variables continuas X, Y, Z y W en un data.frame "d" de dimensiones dim(d) [1] 17643 4 Estoy interesado en realizar un grafico 3D a partir de los valores de X, Y y Z. En R existen varias alternativas entre las cuales se destacan wireframe {lattice} y plot3d {rgl}. Usando lattice, seria algo como: # datos set.seed(123) X <- sort(rnorm(50, 20, 2)) Y <- sort(rnorm(50, 10, 2)) d <- expand.grid(X, Y) colnames(d) <- c(''X'',''Y'') d$Z <- with(d, 3 + X^2 + Y^2)/1000 d$W <- runif(50^2) head(d) # grafico require(lattice) wireframe(Z ~ X + Y, data = d, scales = list(arrows = FALSE), colorkey = TRUE, drape = TRUE) Como puedo modificar el grafico de tal manera que colores de dicha superficie esten definidos por los valores de W y *no* por los valores de Z? Mi sessionInfo() se encuentra al final de este mensaje. Muchas gracias a todos, Jorge Ivan Velez R version 2.11.1 Patched (2010-05-31 r52180) x86_64-apple-darwin9.8.0 locale: [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] lattice_0.19-17 rgl_0.92.798 loaded via a namespace (and not attached): [1] grid_2.11.1 tools_2.11.1 * [[alternative HTML version deleted]]
Oscar Perpiñan Lamigueiro
2011-Mar-03 09:04 UTC
[R-es] Colores en grafico 3D usando una 4a variable
Hola, Con wireframe/cloud no encuentro una solución sencilla (seguramente creando un panel ad-hoc lo consigas). Pero rebuscando he encontrado posibles soluciones en otros paquetes: *misc3d: http://www.jstatsoft.org/v28/i01/paper *drape.plot de fields: http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=fields:drape.plot Saludos. Oscar- ------------------- Oscar Perpiñán Lamigueiro Dpto. Ingeniería Eléctrica EUITI-UPM
Hola, Creo que una solución es a través del uso del parámetro "col.regions", en el que especificarás el color con el valor de tu variable "W". Varios ejemplos de uso los puedes ver en este hilo del R-Help: http://tolstoy.newcastle.edu.au/R/e13/help/11/02/4996.html Saludos, Carlos Ortega www.qualityexcellence.es 2011/3/2 Jorge Ivan Velez <jorgeivanvelez@gmail.com>> * > Buenas tardes a tod@s, > > Tengo 4 variables continuas X, Y, Z y W en un data.frame "d" de > dimensiones > > dim(d) > [1] 17643 4 > > Estoy interesado en realizar un grafico 3D a partir de los valores de X, Y > y Z. En R existen varias alternativas entre las cuales se destacan > wireframe {lattice} y plot3d {rgl}. Usando lattice, seria algo como: > > # datos > set.seed(123) > X <- sort(rnorm(50, 20, 2)) > Y <- sort(rnorm(50, 10, 2)) > d <- expand.grid(X, Y) > colnames(d) <- c(''X'',''Y'') > d$Z <- with(d, 3 + X^2 + Y^2)/1000 > d$W <- runif(50^2) > head(d) > > # grafico > require(lattice) > wireframe(Z ~ X + Y, data = d, > scales = list(arrows = FALSE), > colorkey = TRUE, drape = TRUE) > > > Como puedo modificar el grafico de tal manera que colores de dicha > superficie esten definidos por los valores de W y *no* por los valores de > Z? > Mi sessionInfo() se encuentra al final de este mensaje. > > Muchas gracias a todos, > > Jorge Ivan Velez > > > R version 2.11.1 Patched (2010-05-31 r52180) > x86_64-apple-darwin9.8.0 > > locale: > [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > other attached packages: > [1] lattice_0.19-17 rgl_0.92.798 > > loaded via a namespace (and not attached): > [1] grid_2.11.1 tools_2.11.1 > * > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Hola, Además de estos ejemplos, hoy mismo he visto que han aparecido nuevas entradas justamente con esta misma necesidad. La respuesta de uno de ellos es el propio Deepayan (autor de lattice). http://r.789695.n4.nabble.com/Same-color-key-for-multiple-lattice-contour-plots-td3316654.html http://r.789695.n4.nabble.com/wireframe-display-a-graph-with-two-colors-not-a-gradient-td3326526.html Por si es de interés... Saludos, Carlos Ortega. www.qualityexcellence.es 2011/3/3 Carlos Ortega <coforfe@gmail.com>> Hola, > > Creo que una solución es a través del uso del parámetro "col.regions", en > el que especificarás el color con el valor de tu variable "W". > > Varios ejemplos de uso los puedes ver en este hilo del R-Help: > > http://tolstoy.newcastle.edu.au/R/e13/help/11/02/4996.html > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > 2011/3/2 Jorge Ivan Velez <jorgeivanvelez@gmail.com> > > * >> Buenas tardes a tod@s, >> >> Tengo 4 variables continuas X, Y, Z y W en un data.frame "d" de >> dimensiones >> >> dim(d) >> [1] 17643 4 >> >> Estoy interesado en realizar un grafico 3D a partir de los valores de X, >> Y >> y Z. En R existen varias alternativas entre las cuales se destacan >> wireframe {lattice} y plot3d {rgl}. Usando lattice, seria algo como: >> >> # datos >> set.seed(123) >> X <- sort(rnorm(50, 20, 2)) >> Y <- sort(rnorm(50, 10, 2)) >> d <- expand.grid(X, Y) >> colnames(d) <- c(''X'',''Y'') >> d$Z <- with(d, 3 + X^2 + Y^2)/1000 >> d$W <- runif(50^2) >> head(d) >> >> # grafico >> require(lattice) >> wireframe(Z ~ X + Y, data = d, >> scales = list(arrows = FALSE), >> colorkey = TRUE, drape = TRUE) >> >> >> Como puedo modificar el grafico de tal manera que colores de dicha >> superficie esten definidos por los valores de W y *no* por los valores de >> Z? >> Mi sessionInfo() se encuentra al final de este mensaje. >> >> Muchas gracias a todos, >> >> Jorge Ivan Velez >> >> >> R version 2.11.1 Patched (2010-05-31 r52180) >> x86_64-apple-darwin9.8.0 >> >> locale: >> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 >> >> attached base packages: >> [1] stats graphics grDevices utils datasets methods base >> >> other attached packages: >> [1] lattice_0.19-17 rgl_0.92.798 >> >> loaded via a namespace (and not attached): >> [1] grid_2.11.1 tools_2.11.1 >> * >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > >[[alternative HTML version deleted]]
Jorge Ivan Velez
2011-Mar-08 06:18 UTC
[R-es] Colores en grafico 3D usando una 4a variable
Buenas noches, Muchas gracias a Oscar y Carlos por sus comentarios. Al parecer la grafica es muchisimo mas compleja de lo que inicialmente pense :-) Un saludo, Jorge Ivan Velez 2011/3/7 Carlos Ortega <>> Hola, > > Además de estos ejemplos, hoy mismo he visto que han aparecido nuevas > entradas justamente con esta misma necesidad. La respuesta de uno de ellos > es el propio Deepayan (autor de lattice). > > > http://r.789695.n4.nabble.com/Same-color-key-for-multiple-lattice-contour-plots-td3316654.html > > > http://r.789695.n4.nabble.com/wireframe-display-a-graph-with-two-colors-not-a-gradient-td3326526.html > > Por si es de interés... > > Saludos, > Carlos Ortega. > www.qualityexcellence.es > > 2011/3/3 Carlos Ortega <> > > Hola, >> >> Creo que una solución es a través del uso del parámetro "col.regions", en >> el que especificarás el color con el valor de tu variable "W". >> >> Varios ejemplos de uso los puedes ver en este hilo del R-Help: >> >> http://tolstoy.newcastle.edu.au/R/e13/help/11/02/4996.html >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> 2011/3/2 Jorge Ivan Velez <> >> >> * >>> Buenas tardes a tod@s, >>> >>> Tengo 4 variables continuas X, Y, Z y W en un data.frame "d" de >>> dimensiones >>> >>> dim(d) >>> [1] 17643 4 >>> >>> Estoy interesado en realizar un grafico 3D a partir de los valores de X, >>> Y >>> y Z. En R existen varias alternativas entre las cuales se destacan >>> wireframe {lattice} y plot3d {rgl}. Usando lattice, seria algo como: >>> >>> # datos >>> set.seed(123) >>> X <- sort(rnorm(50, 20, 2)) >>> Y <- sort(rnorm(50, 10, 2)) >>> d <- expand.grid(X, Y) >>> colnames(d) <- c(''X'',''Y'') >>> d$Z <- with(d, 3 + X^2 + Y^2)/1000 >>> d$W <- runif(50^2) >>> head(d) >>> >>> # grafico >>> require(lattice) >>> wireframe(Z ~ X + Y, data = d, >>> scales = list(arrows = FALSE), >>> colorkey = TRUE, drape = TRUE) >>> >>> >>> Como puedo modificar el grafico de tal manera que colores de dicha >>> superficie esten definidos por los valores de W y *no* por los valores de >>> Z? >>> Mi sessionInfo() se encuentra al final de este mensaje. >>> >>> Muchas gracias a todos, >>> >>> Jorge Ivan Velez >>> >>> >>> R version 2.11.1 Patched (2010-05-31 r52180) >>> x86_64-apple-darwin9.8.0 >>> >>> locale: >>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 >>> >>> attached base packages: >>> [1] stats graphics grDevices utils datasets methods base >>> >>> other attached packages: >>> [1] lattice_0.19-17 rgl_0.92.798 >>> >>> loaded via a namespace (and not attached): >>> [1] grid_2.11.1 tools_2.11.1 >>> * >>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-help-es mailing list >>> R-help-es@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >> >[[alternative HTML version deleted]]