I want to include animated rgl
graphs in my .Rnw
document through knitr
. Here is my MWE:
\documentclass{article}
<< label = setup, include = FALSE>>=
opts_chunk$set(fig.path = 'figure/', cache = FALSE, dev = "pdf", fig.align = 'center', fig.show = 'hold', fig.width = 3, fig.height = 3, echo = TRUE, warning = FALSE, message = FALSE, size = 'footnotesize', comment=NA, results='hold')
knit_hooks$set(par = function(before, options, envir){
if (before && options$fig.show!='none')
par(mar = c(4, 4, 0.1, 0.1), cex.lab = 0.95, cex.axis = 0.9, mgp = c(2, 0.7, 0), tcl = -0.3)
}
)
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 = ''))
}
}
)
options(replace.assign = TRUE, width = 60)
@
\begin{document}
<< label=packages >>=
library(car)
@
<< label=rgl1, rgl=TRUE, fig.show='animate' >>=
scatter3d(prestige ~ income + education, data=Duncan)
@
\end{document}
I'm not getting graph in my knitted documents. Any help will be highly appreciated. Thanks
Updated
I'm still unable to get it work and getting the following warning:
Warning messages:
1: In rgl.snapshot(paste(name, ".png", sep = ""), fmt = "png") :
RGL: Pixmap save: unable to open file 'D:\A B\C D UAF\Test\knitr\rglAnimation\figure\rgl1.png' for writing
2: In rgl.snapshot(paste(name, ".png", sep = ""), fmt = "png") :
snapshot failed
3: running command '"C:\PROGRA~2\MIKTEX~1.9\miktex\bin\x64\texi2dvi.exe" --quiet --pdf "rglAnimation.tex" --max-iterations=20 -I "C:/PROGRA~1/R/R-31~1.1/share/texmf/tex/latex" -I "C:/PROGRA~1/R/R-31~1.1/share/texmf/bibtex/bst"' had status 1
My sessionInfo()
is
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] tools stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] mgcv_1.8-2 nlme_3.1-117 rgl_0.93.1098 car_2.0-21 knitr_1.6.15
loaded via a namespace (and not attached):
[1] evaluate_0.5.5 formatR_1.0 grid_3.1.1 highr_0.3
[5] lattice_0.20-29 MASS_7.3-34 Matrix_1.1-4 nnet_7.3-8
[9] stringr_0.6.2
Edited
Changing fig.path = 'figure/'
to fig.path = ''
in opts_chunk$set
compiles the document with png
graphs but without any animation. Would highly appreciate if some guide me how to get animated rgl
graphs with fig.path = 'figure/'
. Thanks