我想爲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