在.Rnw中包含rgl交互式图(pdf输出)

时间:2016-11-05 16:34:38

标签: r knitr rgl rnw

问题描述

我希望在.Rnw文件中编织的.pdf中包含一个交互式(旋转)rgl 3-d散点图。我知道有一个包括rgl的钩子,但也许这只适用于html输出。我似乎无法将情节包括在内以便旋转。这是一个最小的例子。该图显示但有线而不是点,没有可用的旋转。

问题(S)

  1. 是否可以在pdf中包含交互式rgl?
  2. 如果是这样的话......我怎么能用knitr做到这一点?我做错了什么?
  3. 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中看到的内容:

    enter image description here

1 个答案:

答案 0 :(得分:3)

这是可能的,但几乎没有。您需要安装Asymptote,并使用rgl::writeASY()为其编写程序。然后在您的文档中包含该程序,运行LaTeX,然后运行Asymptote,再运行LaTeX。

这里有一些在LaTeX中包含渐近线的例子:http://asymptote.sourceforge.net/doc/LaTeX-usage.html#LaTeX-usage

结果令人失望。

我的建议是放弃PDF。 HTML5是一个更好的输出目标; rgl做得很好(使用rglwidget())为网页生成输出。不太可能将任何努力用于改进PDF输出,而修复HTML支持中的剩余差距是一个优先事项。