【发布时间】:2017-03-19 08:19:20
【问题描述】:
问题描述
我想在从 .Rnw 文件编织的 .pdf 中包含一个交互式(旋转)rgl 3-d 散点图。我知道有一个包含 rgl 的钩子,但也许这仅适用于 html 输出。我似乎无法包含情节以使其旋转。这是一个最小的例子。情节出现了,但有线而不是点,并且没有可用的旋转。
问题
- 是否可以在 pdf 中包含交互式 rgl?
- 如果是这样...我怎样才能用 knitr 做到这一点?我做错了什么?
MWE
\documentclass{article}
\begin{document}
<<setup, include=FALSE, cache=FALSE>>=
library(knitr)
library(rgl)
knit_hooks$set(rgl = hook_rgl)
@
<<fancy-rgl, rgl=TRUE>>=
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
# open3d()
plot3d(x, y, z, col = 'black')
@
\end{document}
我在 pdf 中看到的内容:
【问题讨论】:
-
我可能错了,但我的印象是PDF文件只能呈现静态内容。
-
我希望这不是真的。您可以包含动画。钩子示例使用了这个非常示例:yihui.name/knitr/hooks 这也表明可能会发生交互式 rgl,但这也不会呈现为动态:github.com/yihui/knitr-examples/blob/master/092-latex-rgl.Rnw
-
这表示它只是一张图片:
if we want to insert 3D snapshots produced in rglfrom yihui.name/knitr/hooks -
我不确定链接的
knitr示例应该如何工作,但是当我尝试它们时,它们没有在 PDF 文档中生成交互式绘图。我很确定这只是一般 PDF 格式的限制,不一定特定于knitr或rgl。 This thread 与您的问题有些相关。 -
只有 Adobe PDF Reader 支持动画。动画是由 LaTeX 包 animate 创建的。我记得有支持交互式3D绘图的LaTeX包,但我不知道rgl是否可以与这些包连接。