2011-11-29 2 views
5

안녕하세요,여러 개의 glm 플롯을 PNG로 내보내는 중입니까?

내 선형 모델의 플롯을 내보내려고합니다. PDF로 할 때 PDF에는 네 페이지와 네 가지 차트가 있습니다. PNG로 내보낼 때 첫 번째 차트 만 가져옵니다. 네 개의 그래프를 모두 별도의 PNG 파일로 가져 오려면 어떻게 내 보내야하나요? PDF 파일로 근무 무엇

:

lrfitX11SUMS <- glm(X11SUMS ~ POLITA + CIRCULATION + COMPAPER + TrafficRankUS, data=NewspTest) 

    summary(lrfitOTONE) 
    pdf("/Users/william/Desktop/output/lmfitOTONE1.pdf") 
    plot(lrfitOTONE) 
    dev.off() 

PNG로 작업 (그리고 아무 소용이 인터넷과 플롯 문서에 주변에 파고 두 시간 소요)하지 않았다 무엇 :

lrfitX11SUMS <- glm(X11SUMS ~ POLITA + CIRCULATION + COMPAPER + TrafficRankUS, data=NewspTest) 

summary(lrfitOTONE) 
png("/Users/william/Desktop/output/lmfitOTONE1.png", width=720, height=720, pointsize=16) 
png("/Users/william/Desktop/output/lmfitOTONE2.png", width=720, height=720, pointsize=16) 
png("/Users/william/Desktop/output/lmfitOTONE3.png", width=720, height=720, pointsize=16) 
png("/Users/william/Desktop/output/lmfitOTONE4.png", width=720, height=720, pointsize=16) 
plot(lrfitOTONE) 
dev.off() 

내 이미지는 어떻게 받습니까?

감사 이런

-Wm

답변

6

예시 :

setwd("/Users/william/Desktop/output/") 
tmpf <- function(i) { 
    png(paste("lmfitOTONE",i,".png",sep=""), width=720, height=720, pointsize=16) 
} 
wplot <- c(1,2,3,5) ## see ?plot.lm for definition of 'which' 
for (i in seq_along(wplot)) { 
    tmpf(i); plot(lrfitOTONE, which=wplot[i]); dev.off() 
} 

키가 glm 객체에 적용 plot 의해 사용되는 방법이다 plot.lm은 (glm이기 때문 실현 lm의 하위 클래스이며 자체의 특정 플롯 방법이 없음)은 which 인수를 기반으로 진단 플롯을 표시하고 기본값 which의 값은 위의 wplot과 같습니다. 그래서 기본적으로 : 개별 하위 플롯을 만드는 방법을 파악하십시오.

+0

+1'plot.lm' 메소드에 대한 정보와'which'를 통해 개별 수치를 그릴 방법. –

+0

감사합니다. – user1017124

+0

@ user1017124 - 내가 잘못 해석하는 경우를 제외하고는 기쁘게 생각합니다.) 표시하는 또 다른 방법은 옆에있는 체크 표시를 클릭하여이 두 가지 우수 답변 중 하나를 '수락'하는 것입니다. 귀하의 질문과 답변에 대해 당신에게 감사드립니다. –

8

PDF는 여러 페이지로 된 문서를 허용합니다. PNG 이미지는 근본적으로이 아이디어와 호환되지 않습니다. ?png을 읽고 filename 인수를 살펴볼 필요가 있음을 알게되면 자세한 내용은 ?postscript으로 연결됩니다.

당신은 뭔가를 원하는 : 파일 이름에 %1d 당신이 원하는 이름을 가진 네 개의 수치를 얻을 수 있도록 1 자리 숫자 값으로 확장 와일드 카드입니다

png("/Users/william/Desktop/output/lmfitOTONE%1d.png", width=720, 
    height=720, pointsize=16) 
plot(lrfitOTONE) 
dev.off() 

. png()에 대한 네 건의 전화는 4 개의 개별 장치를 설정하고, 후자는 사용 된 후 연속적으로 닫히고 다른 세 장치는 계속 열려 있습니다.

+0

내 것보다 낫다. –

+0

각 플롯을 그리는 플롯 방법을 얻는 것에 대한 그의 답변에서 벤의 의견을 참고하십시오. 내 대답은 디스플레이가 여러 패널로 나뉘어지지 않는다고 가정합니다. 아무 것도하지 않으면 디스플레이가 아닌 것입니다. –

관련 문제