問題
これはバグのように見えますが、それ自体に問題があり、問題ではpdf()
ありませんSweave()
。
私が何を意味するかを理解するには、この呼び出しを試してくださいpdf()
。上に表示されているのと同じ欠陥プロットが生成されます。
pdf("pdfPlot.pdf")
plot(0.5, 0.5, xlim = c(0,1), ylim = c(0,1))
legend("bottomright", c("data", "summary", "curve", "conf. region"),
pch = c(2,1,NA,NA), lwd = c(NA,NA, 2,1))
dev.off()
対照的に、cairo_pdf()
見栄えの良いプロットを生成します。
cairo_pdf("cairo_pdfPlot.pdf")
plot(0.5, 0.5, xlim = c(0,1), ylim = c(0,1))
legend("bottomright", c("data", "summary", "curve", "conf. region"),
pch = c(2,1,NA,NA), lwd = c(NA,NA, 2,1))
dev.off()
解決策1:ニットを使用します。
に切り替えても構わないと思っているならknitr
、これを修正するのは簡単です。dev="cairo_pdf"
次のように、コードチャンクヘッダーに追加するだけです(必要に応じて、を削除しますfig=TRUE
)。
<<dev="cairo_pdf">>=
...
...
@
library(knitr); knit("myScript.Rnw")
コードの処理は、現在の呼び出しの代わりに行うのと同じくらい簡単です。Sweave("myScript.Rnw")
解決策2:\includegraphics{}への独自の呼び出しを作成します。
に固執する必要がある場合はSweave()
、次のようなことを行うと問題を回避できます。
<<results=tex, term=FALSE, echo=FALSE>>=
cairo_pdf("myPlot.pdf", width=5)
plot(0.5, 0.5, xlim = c(0,1), ylim = c(0,1))
legend("bottomright", c("data", "summary", "curve", "conf. region"),
pch = c(2,1,NA,NA), lwd = c(NA,NA, 2,1))
dev.off()
cat("\\includegraphics{myPlot.pdf}\n\n")
@