我使用 Sweave 和 R 包 nlme:当包含格子图形(封装在命令中print()
)时,.eps
生成的文件都是黑白的。原始图形(出现在 R 中)和保存的.pdf
文件是彩色的,但不是.eps
。
当包含不使用 lattice 包的图形时,文件.eps
没有问题。我尝试过一步包含 lattice 图形,例如:
\begin{figure}[!h]
\begin{center}
\setkeys{Gin}{width=0.5\textwidth}
<<echo=FALSE,fig=TRUE,width=4,height=4>>=
print( plot(intervals(sulf1comp.lis),layout=c(3,1,1)#,main="Parameter Estimates & 95% CI"
#,sub="Sulfadoxine: Bi-Exponential nlsList Model"
))
@
%
\caption{Parameter Estimates and 95\% Confidence Intervals for Individual Model Fits \label{label sulf_fig2}}
%\label{fig:}
\end{center}
\end{figure}
具体分为两个步骤:
<<figa,echo=FALSE,fig=TRUE,include=FALSE>>=
print(plot(sulf1comp.nls,pid~resid(.,type="p"),abline=0,cex.axis=0.7,
#,main="Plot of Residuals by Subject (Sulfadoxine: NLS Model)"
))
@
%
\begin{figure}[!h]
\begin{center}
\includegraphics*[height=0.5\textwidth]{analysisinprogress_sw-figa.pdf}
\caption{Residuals by Subject ID: Sulfadoxine Bi-Exponential NLS Model \label{label sulf_fig1}}
\end{center}
\end{figure}
%
不使用 fig=T 命令,例如:
<<figa,echo=FALSE>>=
postscript("filename.eps")
print(plot(sulf1comp.nls,pid~resid(.,type="p"),abline=0,cex.axis=0.7,
#,main="Plot of Residuals by Subject (Sulfadoxine: NLS Model)"
))
dev.off()
@
%
还有其他各种可能性。我绞尽脑汁想弄清楚我做错了什么。任何建议都将不胜感激。
答案1
黑白是的默认设置eps
,而彩色是输出的默认设置pdf
。
我不确定设置
lattice.options(default.theme = standard.theme(color = TRUE))
可以解决你的问题,或者等价地(从Sweave 常见问题解答)
library(lattice)
ltheme <- canonical.theme(color = TRUE) ## in-built B&W theme
ltheme$strip.background$col <- "transparent" ## change strip bg
lattice.options(default.theme = ltheme) ## set as default
但是你有什么特别的理由更喜欢 Postscript 而不是 PDF 吗?我总是发现后者能产生非常漂亮的图形。