В RCaller методы startPlot() и endPlot() работа, как и их коллеги R, как PNG(), PDF(), BMP() для запуска файлового устройства и dev.off() для завершения участка.
После использования startPlot() вы должны сделать что-то, используя графические функции R.
Это очень простые примеры дают представление для генерации графики с использованием RCaller:
double[] numbers = new double[]{1, 4, 3, 5, 6, 10};
code.addDoubleArray("x", numbers);
File file = code.startPlot();
System.out.println("Plot will be saved to : " + file);
code.addRCode("plot(x, pch=19)");
code.endPlot();
Этот пример создает двойной массив значений 1, 4, 3, 5, 6, 10 и передавать их на R, используя метод addDoubleArray. Метод startPlot возвращает объект File, который, возможно, создан в вашем каталоге temp. Обычное выражение R
plot(x, pch=19)
рисует сюжет, но на этот раз не на экране, но в созданном файле методом startPlot().
После вызова метода endPlot() мы можем завершить процесс, вызвав
caller.runOnly();
поэтому все директивы преобразуются в R код и передается R. Теперь мы можем показать содержание в Java:
code.showPlot(file);
Вот весь пример:
try {
RCaller caller = RCaller.create();
RCode code = RCode.create();
double[] numbers = new double[]{1, 4, 3, 5, 6, 10};
code.addDoubleArray("x", numbers);
File file = code.startPlot();
System.out.println("Plot will be saved to : " + file);
code.addRCode("plot(x, pch=19)");
code.endPlot();
caller.setRCode(code);
System.out.println(code.getCode().toString());
caller.runOnly();
code.showPlot(file);
} catch (Exception e) {
Logger.getLogger(SimplePlot.class.getName()).log(Level.SEVERE, e.getMessage());
}
Вы можете увидеть ссылки на е Xample дано здесь и далее чтение:
Basic plotting using RCaller
Journal research paper
Unpublished research paper for RCaller 3