html knitr के साथ एक इंटरैक्टिव 3 डी आंकड़ा सहित



rgl r-markdown (1)

मैंने hook_webgl() एक नया हुक hook_webgl() जोड़ा , जिसे बाद में आरजीएल में शामिल किया गया। यहाँ एक उदाहरण है:

```{r setup}
library(knitr)
library(rgl)
knit_hooks$set(webgl = hook_webgl)
```

```{r testgl, webgl=TRUE}
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
plot3d(x, y, z, col=rainbow(1000))
```

यहां एक उदाहरण देखें (और Rmd स्रोत )।

knitr का उपयोग करके एक Rmarkdown स्रोत फ़ाइल से HTML दस्तावेज़ में एक rgl 3D ग्राफिक्स एम्बेड करना संभव है:

```{r setup}
library(rgl)
knit_hooks$set(rgl = hook_rgl)
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
```

```{r, rgl=TRUE}
plot3d(x, y, z, col=rainbow(1000))
```

लेकिन html दस्तावेज़ में 3D ग्राफ़िक इंटरएक्टिव नहीं है। क्या एक इंटरैक्टिव 3 डी ग्राफिक प्राप्त करना संभव है? rgl पैकेज के writeWebGL() फ़ंक्शन एक इंटरैक्टिव 3 डी ग्राफिक के साथ एक HTML फ़ाइल बनाता है, क्या इस HTML कोड को सीधे Rmarkdown के साथ शामिल करने का एक तरीका है? अन्यथा इस html कोड को मैन्युअल रूप से कैसे शामिल किया जाए?

अपडेट 24/06/2013

यहाँ एक उदाहरण है जो आज काम नहीं करता है (Chrome में 3D ग्राफ़िक दिखाई नहीं देता है):

  • Rmd स्रोत फ़ाइल , जो बहुत बुनियादी है:

    ```{r setup}
    library(rgl)
    knit_hooks$set(webgl = hook_webgl)
    ```
    ```{r, webgl=TRUE}
    M <- rbind(
      c(0,0,0),
      c(-1,4,0),
      c(4,9,0),
      c(6,3,0)
      )
      points3d(M,col='red')
    ```
    ```{r}
    sessionInfo()
    ```

    मैंने इस फ़ाइल को RStudio "निट" बटन के साथ दो स्थितियों में अलग-अलग संस्करणों के rgl और knitr पैकेजों का उपयोग करके knitr है (लेकिन यह निश्चित रूप से rgl पैकेज के कारण है क्योंकि समस्या writeWebGL फ़ंक्शन के आउटपुट के साथ होती है):

  • R-2.15.2 के साथ पुराने संस्करण: स्रोत फ़ाइल और HTML रेंडरिंग । और html फाइल को writeWebGL साथ webWGL द्वारा जनरेट किया गया । मेरे लिए यह अच्छी तरह से काम करता है (3 डी प्लॉट में सिर्फ 4 लाल बिंदु हैं ... मेरी गंदी स्क्रीन पर देखना आसान नहीं है लेकिन मैं उन्हें देखता हूं)।

  • R-2.15.3 के साथ नवीनतम संस्करण: स्रोत फ़ाइल और HTML रेंडरिंग । और html फाइल को writeWebGL साथ wrWebGL द्वारा जनरेट किया गया । मेरे लिए यह काम नहीं करता है: 3D प्लॉट दिखाई नहीं देता है। मैं विंडोज 7 का उपयोग करता हूं और यह क्रोम के साथ काम नहीं करता है, न ही फ़ायरफ़ॉक्स के साथ।

28/06/2013 को संपादित करें

24/06 अद्यतन द्वारा उठाए गए समस्या का नाइट्र से कोई लेना-देना नहीं है। मैंने इस पोस्ट में इसे पुनःप्रकाशित किया है: वेबलॉगिंग रगड़ 0.93.935 आर पैकेज के साथ