2014-07-22 11 views
2

이것은 기본적으로이 질문과 반대입니다 : How to plot a graph using R, Java and JRI?. Java 프로그램에서 R로 플롯을 작성하여 하드 드라이브에 저장하려고합니다. 이것은 이 아니며이 아니라 Java 창에 R 플롯을 표시합니다. 나는 rJava 패키지의 일부로 JRE를 사용하고있다. Java에서 R에서 계산을 수행하면 정상적으로 작동합니다. R이 실행JRI를 사용하여 R로 플롯을 만드는 방법

멋진 플롯이 생성

pdf(file="qqplot.pdf") 
x <- rnorm(100) 
qqnorm(x); qqline(x) 
dev.off() 

그럼에도 불구하고, 자바에서 동일한 작업을 실행하면 같은 파일을 생성을하지만 비어 있습니다. 자바 코드는 다음과 같습니다.

private String createNormQQPlot(double[] samples, File filename){ 

    try{ 
     // Pass array to R 
     engine.assign("samples", samples); 
     engine.eval(String.format("pdf(file='%s')",filename.getPath())); 
     engine.eval("qqnorm(samples)"); 
     engine.eval("qqline(samples)"); 
     engine.eval("dev.off()"); 
    }catch(Exception e) { 
     e.printStackTrace(); 
     return ""; 
    } 
    return filename.getPath(); 
} 

이것에 대한 아이디어는 매우 높이 평가됩니다! (예 : 우분투) 리눅스의 일부 변형을 사용하는 경우

+0

Java 코드를 알려주시겠습니까? –

+0

@YehoshaphatSchellekens : 내 질문에 코드가 업데이트되었습니다! 감사. – Chris

+0

당신의 개념이 잘 돌아갈 것입니다. Java가 R에 정확하게 "샘플"데이터를 전달하는지 알아 봅니다. 비슷한 일이 여기에서 잘 작동합니다 : http://stackoverflow.com/questions/24493113/exporting-plotted-variable-shows-blank -image/24528683 # 24528683, 나는 R의 반대편 인 "\"의 방향에 문제가있을 수 있다고 생각합니다. –

답변