martes, 15 de marzo de 2011

Como simular un bosque en 3D

Ahora que estoy trabajando con datos espaciales de infestación de pinos por procesionaria y muérdago, estaba buscando la mejor manera de representar los datos gráficamente. Tradicionalmente estos datos se representan en superficies de dos dimensiones, pero ¿se pueden representar de una forma eficiente en 3D? La respuesta es sí y la solución nos la da (posiblemente es sólo una de las muchas soluciones) el paquete scatterplot3d de R y la función con el mismo nombre.

Veamos unos datos que simulan los datos con los que yo estoy trabajando. Coordenadas x e y con la posición espacial de los datos. Una variable z con información de la altura de los datos. Y finalmente, una cuarta variable con información sobre, por ejemplo, el número de bolsones de procesionaria (pero podría ser cualquier otra cosa).

x <- rep(1:10, each=10) + rnorm(100, 0, 0.2)
y
<- rep(1:10, 10) + rnorm(100, 0, 0.2)
z
<- rnorm(100, 6, 1)
procesionaria
<- rpois(100, lambda = 5)
procesionaria.col
<- cut(procesionaria, breaks=c(0, 5, 10, 50, 100), labels=c("greenyellow", "green2", "forestgreen", "darkgreen"))
table
(procesionaria.col)

library
(scatterplot3d)
scatterplot3d
(x = x, y = y, z = z, type="h", cex.symbols=5, pch=19, color=procesionaria.col, xlab="", ylab="", zlab="Altura", zlim=c(0,10))

Created by Pretty R at inside-R.org

Y el resultado sería este:

Modificando los argumentos de la función scatterplot3d() podemos hacer que el color de los árboles sea representativo del grado de infestación por procesionaria (más oscuro más infestado). También podríamos, si quisiéramos, hacer que el símbolo de copa representara la especie.

Por cierto, gracias Antonio por enseñarme Pretty R para incorporar código de R en mis entradas. ¡Con todo el tiempo que llevo en ésto y todavía no lo conocía!

3 comentarios:

rperez dijo...

Me parece una forma muy atractiva de mostrar los resultados.

Saludos.

Deschampsia antarctica dijo...

Muchas gracias Luis, llevaba tiempo pensando en representar asi mis datos, y no sabía que se podía hacer.

Un saludo desde Bergen, Norway.

Deschampsia antarctica dijo...

Uy por cierto, soy Julia del departamento.

Buscar entradas