2

ここで rpy2 のドキュメントに従っています ( http://rpy.sourceforge.net/rpy2/doc-2.1/html/graphics.html?highlight=lattice )。latticerpy2を使用して対話的に正常にプロットできます。たとえば、次のようになります。

iris = r('iris')
p = lattice.xyplot(Formula("Petal.Length ~ Petal.Width"),
                   data=iris)
rprint = robj.globalenv.get("print")
rprint(p)

rprintグラフを表示します。ただし、最初にグラフを pdf に保存しようとすると、次のようになります。

r.pdf("myfile.pdf")

それから私のlattice呼び出しは機能せず、代わりに空のpdfになります。R ベースを使用して、または R ベースを使用して同じこと ( を呼び出しr.pdfてからプロット) を行うggplot2と、動作する pdf が得られます。lattice結果をPDFファイルに保存するには、Rpy2内から特別なものが必要ですか? 以下も機能しません。

iris = r('iris')
r.pdf("myfile.pdf")
grdevices = importr('grDevices')
p = lattice.xyplot(Formula("Petal.Length ~ Petal.Width"),
                   data=iris)
rprint = robj.globalenv.get("print")
rprint(p)
grdevices.dev_off()

ありがとうございました。

4

2 に答える 2

2

dev.off()print コマンドの後に相当するものが必要です。

つまり、グラフを pdf に保存するための一般的な概要は次のとおりです。

pdf(...)
print(....)
dev.off()

呼び出しに失敗するとdev.off()、空の pdf ファイルが生成されます。


このソースから、同等のものrpy2

grdevices.dev_off()
于 2013-02-17T06:44:16.420 に答える
0

解決策は、次を使用することです。

robjects.r["dev.off"]()

何らかの理由で、他の亜種ではうまくいきません。

于 2013-02-17T06:55:37.020 に答える