質問

この質問にはすでに答えがあります:

このコマンドが関数内で実行された場合、PDFにドットプロットを保存するのに苦労しています。

正常に呼ばれると正常に動作します:

df <- data.frame(a = runif(10), b = runif(10), c = runif(10), x = 1:10)  
pdf("test.pdf")  
dotplot(a + b + c ~ x, data = df, type = "l", auto.key=TRUE)  
dev.off()

ただし、このコードが関数内にある場合、機能せず、空のファイルまたは空白のファイルを作成します。

plotFunc <- function(model)  
{  
    pdf("test.pdf")  
    dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE)  
    dev.off()  
}
plotFunc(df)

ただし、ファイルコマンドなしで関数を呼び出すと、グラフィックスウィンドウに正常に印刷されます。

plotWinFunc <- function(model)  
{  
    dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE)  
}  
plotWinFunc(df)

これにより、ファイルに出力することになっている場合、dotplot()が問題になっていると信じるようになります。また、ファイルのタイプは問題ではありません。BMPとPDFの両方で試してみましたが、どちらのメソッドも機能しません。

ファイルにドットプロットを正常に書き込むにはどうすればよいですか?格子パッケージから特別なコマンドを使用する必要がありますか、それともどこかでエラーがありますか?

助けてくれてありがとう。

役に立ちましたか?

解決

dotplotをprint()に巻き付ける必要があることに気付いただけです。

plotFunc <- function(model)    
{    
    pdf("test.pdf")    
    print(dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE))    
    dev.off()    
}  
plotFunc(df)

それはそれを解決したようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top