我想为rgl包写一个小插曲。我想我会尝试使用knitr和markdown来制作一个HTML小插件,这样我就可以包含交互式显示以及快照。knitr和rgl:大小不一致?
Rstudio的最新版本包括pandoc并使用rmarkdown包处理输入到HTML中,但并非所有系统(包括显然R-forge)都包含pandoc,而knitr则回退到某些较早版本的markdown处理。
我在找的是我得到不同大小的报告给我的rgl设备,这取决于我使用的是pandoc路径还是较旧的路径。使用Yihui的knitr::hook_webgl
函数作为钩子,图像的大小是它们应该的大小的两倍。以像素为单位的大小计算在该函数中使用线路
rgl::par3d(windowRect = 100 + options$dpi * c(0, 0, options$fig.width, options$fig.height))
这里,options
是传递给函数的参数之一。它包含块选项。
为了获得正确的尺寸,我需要将dpi除以2.另一方面,在较旧的驱动程序中使用相同的代码可以正常工作。
这是knitr中的错误,还是我在某处丢失了某些选项?
下面是在RStudio使用pandoc生产的样品,与hook_rgl改性分割尺寸由2所述附图的尺寸欲:
http://www.stats.uwo.ca/faculty/murdoch/temp/rgl.html
而这里的一个系统上处理的相同的输入文件没有潘多克。请注意,RGL数字是一半大:
http://www.stats.uwo.ca/faculty/murdoch/temp/rgl2.html
你如何定义'options'?除非你已经写了'options()',那么你应该在'options $ dpi'中得到一个错误。 – rawr 2014-11-24 20:13:49
options是hook_rgl的一个参数。标题是'function(before,options,envir)'。 – user2554330 2014-11-24 20:40:01
那有什么关系?这不是问题,也不是我问的问题,那不是你正在使用的函数('rgl :: par3d'),这不是你如何使用'options'的方法。 – rawr 2014-11-24 20:44:52