2011-03-02 19 views
6

Instalé el paquete rgl con la opción --disable-libpng. Intenté generar un diagrama de dispersión en 3D y se cuelga. Por favor me ayude en la solución de esteAyuda en el uso del paquete rgl

Este es el código que estoy corriendo

library(rgl) 
open3d() 
x <- sort(rnorm(1000)) 
y <- rnorm(1000) 
z <- rnorm(1000) + atan2(x,y) 
plot3d(x, y, z, col=rainbow(1000)) 

Se estrella con mensajes debajo

*** caught segfault *** 
address (nil), cause 'memory not mapped' 

Traceback: 
1: .External(rgl_par3d, args) 
2: par3d(skip) 
3: plot3d.default(x, y, z, col = rainbow(1000)) 
4: plot3d(x, y, z, col = rainbow(1000)) 

Possible actions: 
1: abort (with core dump, if enabled) 
2: normal R exit 
3: exit R without saving workspace 
4: exit R saving workspace 
Selection: 

Aquí está la información de sessionInfo()

> sessionInfo() 
R version 2.11.1 (2010-05-31) 
x86_64-unknown-linux-gnu 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C 
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=C 
[5] LC_MONETARY=C    LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C 
[9] LC_ADDRESS=C    LC_TELEPHONE=C 
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base 

other attached packages: 
[1] rgl_0.92.798 

Esto es del comando sysname

x86-64_linux_2.6.16_ImageSLES10SP3-3 

algo más de información:

soy capaz de generar un diagrama de la superficie de algún código en R: Plotting a 3D surface from x, y, z

Aquí está el código

x <- seq(-10, 10, length.out = 50) 
y <- x 
rotsinc <- function(x,y) { 
    sinc <- function(x) { 
     y <- sin(x)/x; 
     y[is.na(y)] <- 1; 
     y 
    } 
    10 * sinc(sqrt(x^2+y^2)) 
} 
z <- outer(x, y, rotsinc) 

surface3d(x, y, z) 

Traté de demostración (RGL) y que también se está cayendo con un mensaje similar. Quiero generar gráficos en 3D, ¿qué otro paquete recomiendas? ggplot?

+0

Es más bien un error que debe informar a la [autor del paquete] (http://cran.r-project.org/web/packages/rgl/index.html). – mbq

+0

quizás, pero puede ser un error en la instalación, informe su sistema operativo (y versión), versión de R y la versión del paquete de rgl: sessionInfo() es buena después de la biblioteca (rgl) – mdsumner

+2

Esa es una versión relativamente antigua de R , intente actualizar a R 2.12.2 - si sigue siendo un problema, y ​​se dice que su configuración es compatible, entonces tiene algo que informar al mantenedor de rgl – mdsumner

Respuesta

3

El paquete rgl hace uso de la posible aceleración de hardware en su tarjeta gráfica a través de su controlador.

Desafortunadamente, esto depende por completo del controlador. He estado usando rgl para la visualización animada durante varios años --- vea por ej. this visualization of option analytics surfaces from 2005 --- que puedo asegurarle que se colgó por ninguna razón en algunas máquinas y se ejecuta en otras. Deberías probar una máquina diferente con un controlador diferente antes de llegar a conclusiones firmes.

Las computadoras usan hardware, y algunas veces las mordidas de hardware. Puedo codificar bien en una de mis máquinas. Otro es de doble pantalla y, por lo tanto, sin extensión GL, por lo que no lo hará. ¿Mencioné las picaduras de hardware?

+0

¿Puede suceder también? perfectamente algunas veces y se bloquea algunas veces en la misma máquina? Debido a que puedo generar un diagrama y no puedo generar otro – SAN

+0

Si se trata de una función de trazado, código o datos diferente, entonces puede haber un error en su lógica. Intenta volver a ejecutar la misma función. Intenta ejecutar las ilustraciones 'demo()' que viene con el paquete. –

1

Probé exactamente el mismo código en mi sistema, y ​​funcionó perfectamente.

Cualesquiera que hayan sido los problemas, probablemente se hayan corregido.

Prueba 1:

library(rgl) 
demo(rgl) 

Prueba 2:

library(rgl) 
open3d() 
x <- sort(rnorm(1000)) 
y <- rnorm(1000) 
z <- rnorm(1000) + atan2(x,y) 
plot3d(x, y, z, col=rainbow(1000)) 

Mi sistema es Windows 7 x64 que ejecute R v2.14.2. Probado en dos IDEs, a saber, Revolution R y RStudio.

enter image description here

Cuestiones relacionadas