我正在使用plot3d
{rgl}绘制三维图形,但它显示在外部窗口框架上,因此,它不会在markdown html / pdf文件中捕获。有没有办法可以在RStudio的内部绘图窗口中绘制图形,以便在编译笔记本时可以捕获它?
答案 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
在您设置块选项之前的。