Rマークダウン( .Rmd
)ファイルのfor
ループ内から一連のインタラクティブなggplotly
グラフをプロットしようとしました。 私の.Rmd
ファイルの内容:
`` `` `` ``
タイトル:「無題」
出力:html_document
`` `{r}
library(ggplot2)#プロット用
library(plotly)#インタラクティブプロット用
factor_vars <-c( "vs"、 "am"、 "gear"、 "carb")
mtcars [factor_vars] <-data.frame(Map(as.factor、mtcars [factor_vars]))
for(factor_varsのVAR){
cat(paste( "因子変数:"、VAR))
#「VAR」の内容がループ内で変化する
p <-ggplot(mtcars、aes_string(x = "mpg"、y = "wt"、color = VAR))+ geom_point()
# Print an interactive plot
print(ggplotly(p))
}
`` `
`` `` `` ``
RStudio
Knit HTML
ボタンを押します。 残念ながら、インタラクティブなプロットは.html
ファイルに表示されません。
質問:グラフがプロットされないのはなぜですか? また、 Rmd
ファイルでfor
ループと組み合わせてインタラクティブプロットを作成するにはどうすればよいですか?
ps print(ggplotly(p))
print(p)
代わりにggplot2
プロットが結果の.html
ファイルに表示されます。
このコメントを参照してください。
ドキュメントリポジトリで問題を開いて、これに関するより良いドキュメントがあることを確認します...
この問題は解決しましたか? 同じ問題があるようです。
現在の回避策は次のとおりです(元の問題のサンプルコードに基づく):
plotlist = list()
for (VAR in factor_vars) {
p <- ggplot(mtcars, aes_string(x = "mpg", y = "wt", color = VAR)) + geom_point()
plotlist[[VAR]] = ggplotly(p)
}
htmltools::tagList(setNames(plotlist, NULL))
これを実行しようとすると、pandocからメモリアクセスエラーが発生することがありますが。
最も参考になるコメント
この問題は解決しましたか? 同じ問題があるようです。