вызывая графики из R в Java-приложение - PullRequest
4 голосов
/ 10 октября 2010

Привет, ребята, я хочу спросить, есть ли кто-нибудь, кто успешно работает с JRI и rJava?Я хочу поместить некоторые графики, графики, сделанные на R, в мое Java-приложение, но безуспешно.Кто-нибудь может привести рабочий пример.Вот что я нашел, но это не работает.Спасибо

import org.rosuda.JRI.REXP;
import org.rosuda.JRI.Rengine;
/**
 * @author Nero
 *In this file, i will try to plot a simple example, only to test how it?s possible to plot through java
 *Attention: Nothing will work if you have not included the JRI.jar as library ( through properties)*/

public class TryPlot {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        //start the Rengine (JRI)
        Rengine re = new Rengine(null, false, null);

        //in R:  >a<- c(1.2,2.3,4.5) :
        double da[] = {1.2, 2.3, 4.5};
        long xp3 = re.rniPutDoubleArray(da);
        re.rniAssign("a", xp3, 0);
        //look up for a:
        REXP x;
        x = re.eval("a");
        System.out.println(x);
        //THE PROBLEM: The window opens, but nothing happens???
        re.eval(" plot(a)");
    }

}

1 Ответ

2 голосов
/ 09 марта 2011

Я думаю, что обычное графическое устройство R работает, только если вы используете его в графическом интерфейсе R, а не при запуске из Java или из командной строки. Поэтому я использовал пакет "JavaGD" в качестве графического устройства, и это прекрасно работает. график печатается в обычном JFrame, который можно даже расширить, разбив его на подклассы.

...