Rgu*_*guy 12 pdf latex r sweave
我遇到以下代码片段的问题:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{myscatterplot.pdf}
\end{document}
Run Code Online (Sandbox Code Playgroud)
其中"myscatterplot.pdf"由R中的以下代码生成:
library(scatterplot3d)
pdf("myscatterplot.pdf")
scatterplot3d(rnorm(100), rnorm(100), 1:100, highlight.3d = TRUE)
dev.off()
Run Code Online (Sandbox Code Playgroud)
问题是,使用texworks(pdfLatex + makeindex + bibtex)进行编译时生成的LaTeX文档具有图形轴,但绘图或轴标签中没有任何点(在这种情况下,它只是3d轴本身).R或LaTeX不输出错误或警告消息.我在用:
我已经能够使用\ includegraphics命令包含该图的png版本,并用adobe打开"myscatterplot.pdf",在我的文档中显示我想要的图形.
我曾尝试使用tikz软件包作为一种解决方法,但似乎scatterplot3d生成了太多信息,由于内存大小,结果图不能包含在乳胶文档中(错误(我的实际情节将有10000 +点! ).
我怀疑问题是由于".pdf"文件中的字体引起的,但我试图改变pdf字体使用
pdf("changefont.pdf")
par(family = "Helvetica")
scatterplot3d(rnorm(100), rnorm(100), 1:100, highlight.3d = TRUE)
dev.off()
Run Code Online (Sandbox Code Playgroud)
使用\ includegraphics(changefont.pdf)时得到的结果完全相同.
我正在考虑的另一个可能的问题是,scatterplot3d输出实际上可能是多个图像,而\ includegraphics只是从pdf文件中获取第一个图形(轴).在这种情况下,我仍然不确定如何解决它.
我真的很感激一种解决方法,因为我最终希望用Sweave完成所有这些工作,这让我对包装的美妙输出感到痛苦!
提前感谢您的回复.
编辑1:
因此,第一个建议是使用EPS格式而不是pdf.这产生了一些结果,但不是我想要的结果.我运行了以下内容:
\documentclass{article}
\usepackage{graphicx,epstopdf}
\begin{document}
\begin{figure}
\includegraphics[angle = 270, width= 6in, keepaspectratio=true]{change.eps}
\end{figure}
\end{document}
Run Code Online (Sandbox Code Playgroud)
我使用生成了"change.eps"
postscript("change.eps")
scatterplot3d(rnorm(100), rnorm(100), 1:100, highlight.3d = TRUE)
dev.off()
Run Code Online (Sandbox Code Playgroud)
这确实产生了一个改进(尽管奇怪的是,它在乳胶输出中顺时针旋转了90度!),现在我的乳胶输出中的散点图中有轴和点!但是,即使我使用ghostview打开了"change.eps",轴标签仍然没有出现在图中!似乎scatterplot3d输出数字的方式与\ includegraphics搜索数字的方式不一致......
所以,我仍然在寻找一个包含轴标签的解决方案.
查看使用您列出的命令生成的myscatterplot.pdf,轴和标签就在那里.但是,pdf相当大(7英寸x 7英寸).
如果你使用pdf()的重量/身高参数会有帮助吗?
pdf("myscatterplot.pdf", height=3.5, width=3.5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7997 次 |
| 最近记录: |