2011-11-29 7 views
5

SO、複数のglmプロットをPNG形式で書き出す?

私の線形モデルのプロットをエクスポートしようとしています。私がPDFとしてそれをするとき、PDFは4ページと4つの異なるチャートを持っています。 PNG形式でエクスポートすると、最初のグラフのみが取得されます。 4つのグラフを別々のPNGファイルとして取得するにはどうすればエクスポートできますか? PDFで働いていた何

:PNGで作業(および無駄にインターネット上で、プロットのマニュアルの周りに掘っ2時間を過ごした)なかった何

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

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

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であるため、glmオブジェクトに適用plotによって使用される方法である(plot.lmことが実現されていますlmのサブクラスであり、固有のプロット方法を持たない)は、which引数に基づいて診断プロットを表示し、デフォルト値whichの値は上記のwplotと同じです。だから基本的に:個々のサブプロットを作成する方法を理解する。

+0

+1 'plot.lm'メソッドに関する情報と、' which'を使って個々の数字をプロットする方法。 –

+0

ありがとうございます! – user1017124

+0

@ user1017124 - 私が誤解していない限り、あなたは喜んで聞こえます;)それを示す別の方法は、この2つの優れた答えの1つを隣のチェックマークをクリックすることによって「受け入れる」ことです。あなたの質問とそれが誘発した答えに感謝します。 –

8

PDFは複数ページのドキュメントを許可します。 PNG画像は基本的にこの考え方と互換性がありません。 ?pngを読んで、filename議論を見る必要があることを鑑賞すると、詳細は?postscriptに導かれました。

はあなたのような何かをしたい:ファイル名に%1dはあなたが望んでいた名前を持つ4つの図を得るように1桁の数値に展開ワイルドカードである

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

png()への4回の通話では、4つの別々のデバイスが設定されていますが、後者のデバイスのみが使用され、続いて閉じられ、残りの3つは開いたままです。

+0

は私より優れています。 –

+0

個々のプロットを描画するプロット方法を取得することについての彼の答えのBenのコメントに注意してください。私の答えは、ディスプレイが複数のパネルに分割されていないことを前提としています。 –

関連する問題