7

R 用の plotly API から R マークダウンへの埋め込みについて説明しているブログ エントリがあります。コードを使用して、html ドキュメントの iframe を作成しました。

R studio で prieview を使用すると、エラー メッセージは表示されず、html ドキュメントに iframe が作成されます。しかし、それはただ空です。どういうわけかコンテンツをロードしないようです。事前に R API でプロットを作成しませんでした (ただし、これは画像を html に埋め込んでいるだけなので問題ありません)。

現在、rマークダウンの私のコードはそのままです

```{r}
library("knitr")
library("devtools")
url<-"https://plot.ly/~etpinard/251"
plotly_iframe <- paste("<iframe scrolling='no' seamless='seamless' src='", url, 
    "/800/600' width='800' height='600'></iframe>", sep = "")

```
`r I(plotly_iframe)`
4

2 に答える 2

7

RPub を初めて発行したときも同じ問題がありました。公開された RPub のコードは次のとおりです

プレビューではなく RPubs.com で公開されると、グラフが表示されるはずです。RPubs の「ブラウザーで開く」オプションを使用してテストできます。

RPub

メモ。グラフが少し高いので、height800 と650に変更しました。公開版の中央に配置するためのタグwidthも追加しました。<center>

Plotly には、埋め込み用のターゲット URL もあります。この場合、それはhttps://plot.ly/~etpinard/251.embedです。ただし、RPubs はそれを好まないようです。で遊んでborderwidth、境界をオフにできるかどうかを確認することもできます。

つまり、グラフはプレビューに表示されません。RStudio では (まだ) ライブ Web コンテンツの公開が許可されていないため、これはブラウザーの制限であると思います。

興味があり、サンプル コードが必要な場合は、 Plotly および ggplot2 プロットが埋め込まれたブログ投稿のソースを次に示します。お役に立てれば!開示:私はPlotlyで働いています。

更新: 2015 年 8 月 21 日

Plotly のドキュメントにアクセスして、この回答のR Markdownバージョンを確認してください。R コンソールでプロット オブジェクトを印刷すると、オンライン図が作成されます。例えば:

p <- plot_ly(economics, x = date, y = uempmed, filename="r-docs/knitr-example")

Knitr/R Markdown を HTML 出力で使用している場合、plotlyオブジェクトを印刷するとプロットが HTML に iframe として埋め込まれます。R Markdown でドキュメントを書いている場合は、印刷pするだけでプロットが埋め込まれます。

幅と高さのコード チャンク パラメータを使用して、プロットの幅と高さを設定することもできます。例: {r, height=800} は高さを設定します。

R Studio で Plotly Offline を使用している場合、knitr で plotly オブジェクトを印刷すると、グラフを描画するために必要な plotly.js ファイルも含まれます。グラフはドキュメント内でローカルにレンダリングされます。

Knitr ドキュメントをスタンドアロンの HTML ファイルに変換するには、 と を使用knitr::knitmarkdown::markdownToHTMLます。例えば:

knitr::knit('plotly-report.Rmd', 'plotly-report.md')
markdown::markdownToHTML('plotly-report.md', 'plotly-report.html')
于 2014-08-07T21:38:10.583 に答える
2

機能させるには、URL の後に「.embed?width=550&height=550」を追加する必要がありました。下記参照

```{r}
library("knitr")
library("devtools")
url<-"https://plot.ly/yourplothere.embed?width=550&height=550" 
plotly_iframe <- paste("<center><iframe scrolling='no' seamless='seamless' style='border:none' src='", url, 
    "/800/1200' width='800' height='1200'></iframe><center>", sep = "")

```
`r I(plotly_iframe)`
于 2015-02-10T04:27:06.837 に答える