2013-07-01 6 views
17

필자는 필자의 관점에서 볼 때 R 용도를 파이썬에서의 데이터 관리와 R의 비교 분석/그래픽 이점을 활용할 수 있도록 노트북에 통합하기 시작했다.). 불행하게도 나는 ggplot2 그래픽의 플롯 크기를 조정하면서 겉으로는 쉬운 요소에 매달렸다. 플롯 크기를 조정하는 것은 팬더에서 매우 간단합니다. 순수 R 환경 (예 : RStudio)에서는 dev.new() 또는 PNG() 등을 사용하여 플롯을 조정할 수 있습니다. 그러나 이렇게하려고하면 Notebook이 컴퓨터를 견디게 만듭니다. (나는 Ubuntu 13.04를 ASUS U46E에서 실행 중이다.) 또한, 이것은 매우 중요합니다. 필자는 스크립트를 전체적으로 동료에게 전달할 수 있도록 그래픽을 인라인으로 유지하려고합니다.플롯 크기 - IPython 노트북에서 ggplot2 사용

dev.new()를 시도 할 때 컴퓨터가 잠겨서 다시 부팅하기 위해 다른 가상 터미널로 전환해야했습니다. x11() 옵션을 조정하려했는데 그래픽이 약간 엉성한 동안 브라우저가 일시적으로 응답하지 않게되었습니다. 궁극적으로, 나는 다시 통제권을 얻었지만 왜 이런 일이 일어 났는지 전혀 모른다.

왜 이런 일이 일어 났는지 알아? 또한, 누구도 IPython 노트북에서 렌더링 ggplot2 개체의 플롯 크기를 조정하는 방법을 알고 있습니까? 데이터를 공유 할 수는 없지만 펀드 센터 (범주 형 변수)에 의해 세 개의 숫자 변수를 그려 내려고했습니다. 이 플롯들은 크기를 조정하려고 할 때까지 서면으로 실행되었습니다. 다음은 예제 코드입니다 :

%%R 
#x11(width=500,height=300) << didn't work 
#dev.new() << tried before setting size parameters, and it locked up my laptop 
#Plot total expenses by unit 
print('*****Expenses by Unit*****') 
print(smu) 
print(ggplot(smu,aes(x=fy,y=as.numeric(as.character(totexp)),group=fund,colour=fund))+geom_line(size=2)+ 
     ggtitle('Total Expenses')) 
#Plot expense components 
print(ggplot(smu,aes(fy))+ 
     geom_line(aes(y=as.numeric(as.character(fixed)),colour='fixed',group=fund,colour=fund))+ 
     geom_line(aes(y=as.numeric(as.character(var)),colour='variable',group=fund,colour=fund))+ 
     geom_bar(aes(y=as.numeric(as.character(incadj)),group=1),stat='identity')+ 
     facet_grid(.~fund)+ 
     ggtitle('Components of Expenditure')) 

답변

26

rmagic 명령은 플롯의 크기를 지정하는 선택적 인수를가집니다. 기본값은 폭과 높이가 480 픽셀입니다.

%%R -w 480 -h 480 -u px 
library(ggplot2) 
dat <- data.frame(x = rnorm(10), y = rnorm(10), 
        lab = sample(c('A', 'B'), 10, replace = TRUE)) 
x <- ggplot(dat, aes(x = x, y = y, color = lab)) + geom_point() 
print(x) 

그리고 다음이 코드는 50cm, 폭 25 cm의 높이로 플롯 작성 :

%%R -w 50 -h 25 -u cm 
library(ggplot2) 
dat <- data.frame(x = rnorm(10), y = rnorm(10), 
        lab = sample(c('A', 'B'), 10, replace = TRUE)) 
x <- ggplot(dat, aes(x = x, y = y, color = lab)) + geom_point() 
print(x) 

또한 크기를 지정할 수 따라서, 아래 코드는 기본 설정을 복제 인치 또는 밀리미터.

+0

존 감사합니다. 예외없이 단위를 지정할 수는 없지만 제대로 작동합니다. 그럼에도 불구하고 픽셀 거리를 수정하면 작업이 완료됩니다. –

관련 문제