私はループ内でplot3d {rgl}を使って3次元グラフをプロットしています。 knitr rglフックは単一の3dグラフでうまく動作しますが、ループで使用するとmarkdownファイルには3Dグラフは含まれません。どんな助け?ループの下でmarkdown(knitr)内の複数のplot3dをinlcudeする方法
1
A
答えて
2
mfrow3d()
を使用して複数の「サブシーン」を1つの「シーン」に配置してから、rglwidget()
コマンドを使用してhtmlにシーンを表示します。詳細はhereを参照してください。以下はYihui's answerからスクリプトの大きく変更されたバージョンは、次のとおりです。
---
output: html_document
---
You will need to install the rglwidget library if you have not already.
```{r setup}
library(knitr)
library(rgl)
library(rglwidget)
```
Using mfrow3d() I create a scene with 5 subscenes,
so each of the 5 plots will appear in a single scene.
Each will still be independently interactive (can zoom in on one at a time, e.g.).
```{r testgl}
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
mfrow3d(nr = 5, nc = 1)
cols <- c("red", "orange", "green", "blue", "purple")
for(i in 1:5){
plot3d(x, y, z, col = cols[i])
}
rglwidget(height = 4000, width = 1000)
```
2
別の解決策は、複数のrglwidget()
の値を含めることです。これを行うには、htmltools::tagList()
に電話をかけてください。 rgl
の開発バージョンをhttps://r-forge.r-project.org/R/?group_id=234から使用する場合は、rglwidget
パッケージは必要ありません。 Vinceの例を変更すると、
---
output: html_document
---
```{r setup}
library(rgl)
library(rglwidget)
```
```{r testgl}
x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
cols <- c("red", "orange", "green", "blue", "purple")
result <- list()
for(i in 1:5){
plot3d(x, y, z, col = cols[i])
result[[i]] <- rglwidget()
}
htmltools::tagList(result)
```
関連する問題
- 1. クレヨンでR Markdown/knitrレポート
- 2. ループ内で複数のスレッドを実行する方法
- 3. 複数のコンテキストを渡しながらdjangoのループ内でループする方法
- 4. ループ内のリーフレットマップに複数のプロバイダタイルを追加する方法
- 5. knitr/markdownのコードブロックの色を変更する
- 6. Rのplot3d(library( "rgl"))で対数軸を作る方法?
- 7. ループ内に複数のIObserversを設定する方法
- 8. フォームを複数選択する方法:ループ内のラジオボタン
- 9. Python Kivy:ループ内に複数のウィジェットを追加する方法
- 10. R Markdown/knitrのいくつかのプロットをサムネイルする簡単な方法は何ですか?
- 11. 予期しない動作plot3dとknitrで凡例をプロットする
- 12. knitrのRコードのチャンクの途中でmarkdownを挿入するには?
- 13. Angular ng-inlcudeの使い方
- 14. 複数のcollections.Counter()オブジェクトの内容をループでsum()する方法は?
- 15. forループ内でデータの複数のサブセットを実行する方法
- 16. ループ内のループ内のループ内のループ内でループ内のプログレスバーを更新する方法
- 17. R markdown、knitr、pandoc、beamerでのプロットサイズと解像度
- 18. 複数のシートをループして複数のループを繰り返す方法
- 19. forループ内の複数の未知の変数をループする良い方法はありますか?
- 20. JupyterのR-markdown .Rmdまたはknitrのマークダウン
- 21. markdown、rstudio、knitrとテーブルの画像の整列
- 22. ループ内で複数のタスクを待つ
- 23. ループ内での複数のファイル検証
- 24. foreachループ内のifループの結果を数える方法
- 25. 一度に配列内の複数の要素をループする方法
- 26. knitr(new)で複数の同時出力フォーマットを指定する
- 27. Vue.jsで複数のキーの押下(上/下)を検出する方法
- 28. ループ内で複数のボタンをビュー内に作成する
- 29. ループ内で作成された複数のMemoryStreamを閉じる方法は?
- 30. foreachループ内で複数の配列をマッチさせる方法は?
ありがとう、それは完全に動作します。 – Annie