2011-10-20 39 views
5

Soy muy nuevo en R, así que, por favor, perdónenme si esta es una pregunta muy básica.Cómo trazar un gráfico usando R, Java y JRI?

He escrito una secuencia de comandos R, que hace algunos cálculos y al final traza Box Plot. Si ejecuto este script desde la consola R, se ejecuta correctamente y se grafica el gráfico.

Si ejecuto el script desde el programa Java (el programa rtest.java de ejemplo que se proporciona en el sitio JRI), los cálculos se hacen bien. Pero hay un problema al trazar el gráfico. La ventana de marco se abre y permanece ocupada y se cuelga. (Si trato de hacer clic en la ventana, aparece 'No responde'). Estoy usando JRI.

Esta es la forma en que estoy trazando el gráfico en el guión:

boxplot(mat); 

Por encima de comando funciona bien en el R-consola.

Estoy bastante seguro de que se trata de algún paquete de importación o alguna configuración similar. Pero no puede descubrir qué es exactamente.

¿Alguien me puede ayudar con esto?

Gracias.

EDIT 1: salida de mi mando caja trazado:

enter image description here

salida de this code en el enlace proporcionado por John:

enter image description here

Respuesta

4

Aquí es cómo lo hice: Pastebin link. Básicamente debe indicarle al paquete R JavaGD que tiene un JFrame disponible donde se pueden mostrar los diagramas R.

El ejemplo en la respuesta de @John Colby solo almacena el diagrama como un archivo y luego lo muestra en Java, también una opción, pero de alguna manera indirecta para hacerlo.

(Desafortunadamente para ti mi código está en Scala, pero como eso es bastante similar a Java (lo traduje de Java), espero que puedas traducirlo de nuevo. Utilicé algunos ejemplos de JRI como base para y utiliza solo clases de Java.)

+0

Gracias por la respuesta ROLO. Por casualidad, ¿tienes el código original de Java? o saber dónde puedo encontrarlo? – Bhushan

+0

[Este] (http://www.wojtek.njh6.de/Ddocs/Djri/jri.html) debería comenzar. Si entiendo correctamente al escanear rápidamente, lo único que tiene que ejecutar son estos '' biblioteca de comandos R (JavaGD); JavaGD() 'antes de comenzar a trazar (es decir, no se necesita más programación Java). – ROLO

+0

Si la pregunta es sobre Java, la respuesta también debería estar en ese idioma. Con R 3 y Java 8, el código que vincula no funciona. Y no tengo idea si es un problema con el código en sí o con otra cosa. –

Cuestiones relacionadas