2011-02-28 7 views
7

C++에서 플롯 기능을 호출 할 수 있습니까? 현재 우분투 터미널은 언젠가 (3 차원 플롯이 만들어지고 360도 회전 할 수있는 기간이 될 수도 있습니다) 우분투를 정지시키고 새로운 창을 띄우지 않고 해제합니다. 예상되는 동작입니까, 아니면 내가 잘못하고있는 것이 있습니까? rinside와 rcpp를 사용하여 C++에서 플롯 (R 그래픽)을 실행하려면 어떻게해야합니까?R 호출 Rotsside/Rcpp를 사용하여 C++에서 호출

는 Thnx

-Egon는

답변

5

은 예, Rcpp 패키지의 작업 예제가있다. examples/ 디렉토리의 functionCallback/newApiExample.r 파일을보십시오.
플롯을 잠시 '고정'하거나 파일에 플롯 한 다음 파일을 표시하려면 sleep()을 실험해야 할 수 있습니다. 그것은 모두 달려 있지만 거의 알려주지 않았습니다.

+0

나는 대부분 (또는 sys.sleep없이 NP 패키지를 사용하여, 나는 그것을 시도 할 때 R.의 기능을 npplot 사용하고 xx), "Rplots.pdf"파일을 생성하지만 pdf 판독기로 열리지 않습니다. – Egon

+0

Embedding은 기본적으로'interactive' 플래그를 FALSE로 설정합니다. 나는 당신이 그것을 바꿔야한다고 생각합니다. 또는 png 파일에 플롯하고 위젯을 표시하도록하십시오. –

+0

thnx는 매력처럼 작동합니다. – Egon

1

대화식 세션을 처리하는 환경 변수는 R_INTERACTIVE_DEVICE입니다.
우리는 우리의 홈 디렉토리에 .Renviron라는 이름의 파일을 만든 다음 해당 파일에 다음 코드를 추가해야합니다

리눅스 기반 시스템의

R_INTERACTIVE_DEVICE = X11.

[email protected]:~> ls .Renviron 
.Renviron 

[email protected]:~> cat .Renviron 
R_INTERACTIVE_DEVICE = X11a 

참고 :
1. http://stat.ethz.ch/R-manual/R-patched/library/base/html/Startup.html
2 http://stat.ethz.ch/R-manual/R-patched/library/base/html/options.html

+0

이것이 기본 동작입니다. 그것은 파일 없이도 작동합니다. –

+0

@DirkEddelbuettel 기본적으로 나에게 효과가 없었기 때문에이 답변을 검색하는 데 1 시간을 소비했습니다. –

+0

증상이 아닌 문제의 원인을 수정하는 것이 좋습니다. –