41

これを使用すると、ソース ファイルから html ドキュメントに 3D グラフィックknitrを埋め込むことができます。rglRmarkdown

```{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))
```

ただし、3D グラフィックは html ドキュメントではインタラクティブではありません。インタラクティブな 3D グラフィックを取得することは可能ですか? パッケージのwriteWebGL()関数はrgl、インタラクティブな 3D グラフィックを含む html ファイルを作成します。この html コードを Rmarkdown で直接含める方法はありますか? それ以外の場合、この HTML コードを手動で含める方法は?

2013 年 6 月 24 日更新

現在機能していない例を次に示します (3D グラフィックは Chrome では表示されません)。

  • 非常に基本的な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()
    ```
    

    rgl異なるバージョンのとパッケージを使用して、RStudio の「knit」ボタンを使用してこのファイルを編成しました(ただし、関数の出力で問題が発生するため、knitrこれはパッケージが原因であることは間違いありません)。rglwriteWebGL

  • R-2.15.2 の古いバージョン:ソース ファイルhtml レンダリング。そしてrgl_0.93.928 で生成された html ファイルwriteWebGL。私にとってはうまく機能します(3Dプロットには赤い点が4つしかありません...私の汚れた画面では見にくいですが、見えます)。

  • R-2.15.3 の最新バージョン:ソース ファイルhtml レンダリング。そしてrgl_0.93.935 で生成された html ファイルwriteWebGL。私にとってはうまくいきません。3D プロットが表示されません。Windows 7 を使用していますが、Chrome でも Firefox でも動作しません。

編集 2013/06/28

24/06 更新で発生した問題は、 とは何の関係もありませんknitr。この投稿で言い換えました: rgl 0.93.935 R パッケージを使用した WebGL レンダリング

4

1 に答える 1

57

後でrglに組み込まれた新しいフックをKnitr追加しました。次に例を示します。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))
```
于 2013-02-15T05:36:56.547 に答える