如何在RStudio的内图窗口中绘制plot3d

时间:2016-07-29 15:17:58

标签: r

我正在使用plot3d {rgl}绘制三维图形,但它显示在外部窗口框架上,因此,它不会在markdown html / pdf文件中捕获。有没有办法可以在RStudio的内部绘图窗口中绘制图形,以便在编译笔记本时可以捕获它?

1 个答案:

答案 0 :(得分:2)

没有。 rgl使用完全不同的绘图系统。 Yihui Xie的knitr hook documentation解释了如何使用rgl.snapshot()函数在rgl文档中包含knitr输出:

knit_hooks$set(rgl = function(before, options, envir) {
  if (!before) {
    ## after a chunk has been evaluated
    if (rgl.cur() == 0) return()  # no active device
    name = paste(options$fig.path, options$label, sep = '')
    rgl.snapshot(paste(name, '.png', sep = ''), fmt = 'png')
    return(paste('\\includegraphics{', name, '}\n', sep = ''))
  }
})

(然后在块选项中使用rgl=TRUE)。您还可以将输出包含为interactive webgl element in an HTML document。如果您使用knitr spin选项(请参阅here),您应该可以添加一行

#+ my_rgl_plot, rgl=TRUE
在您设置块选项之前的