web-dev-qa-db-ja.com

Rとplot.lyの使用-出力をWebページとして保存するスクリプト

Rと plot.ly を使用してインタラクティブなグラフを作成したい。 R-Studioで次のコードを実行すると、インタラクティブなグラフが生成されます。

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
    mode = "markers", color = carat, size = carat)

このグラフを作成した後、R-Studioの[プロット]ウィンドウで[エクスポート]ボタンをクリックすると、プロットをWebページとして保存するオプションが表示されます。生成されたプロットをWebページとして保存するプロセスをスクリプト化するにはどうすればよいですか?私の最終的な目標は、bscriptスクリプト内からRscriptを繰り返し実行して、複数のWebページを作成することです。

21
Slavatron

_plot_ly_オブジェクトを変数に割り当て、次のようにhtmlwidgets::saveWidget()を使用して実際のファイルを保存します。

_library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
             mode = "markers", color = carat, size = carat)
htmlwidgets::saveWidget(as_widget(p), "index.html")
_
43
Andrew

アンドリューの更新 answer R-3.5.1およびplotly-4.8.0の場合、つまり:

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- plot_ly(d, x = ~carat, y = ~price, text=~paste("Clarity : ", clarity))
htmlwidgets::saveWidget(as_widget(p), "index.html")

これを work にするには、pandocもインストールする必要があります。 CentOS/RedHatでyum install pandoc pandoc-citeproc。 Mac OSXでは、 homebrew を使用して、brew install pandoc

このソリューションはテストされ、R-3.5.1で動作するOSX 10.13.6で動作します。