簡體   English   中英

在R markdown中嵌入圖形輸出

[英]Embedding plotly output in R markdown

有一個博客條目描述了從圖形API嵌入R到R降價。 我只是使用代碼為html文檔創建iframe

當我在R studio中有prieview時,沒有錯誤消息,並且在html文檔中創建了iframe。 但是,它只是空的。 顯然它不會以某種方式加載內容。 我之前沒有在R API中創建繪圖(但這不應該重要,因為這只是將圖片嵌入到html中)不是嗎?

我目前在r markdown中的代碼

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

我們第一次發布RPub時遇到了同樣的問題。 是您在已發布的RPub中的代碼。

一旦它在RPubs.com上發布而不是在預覽中,圖表就會顯示出來。 您可以使用RPub中的“在瀏覽器中打開”選項來測試它:

RPub

一張紙條。 我將height更改為800,將width更改為650,因為該圖形有點高。 我還添加了一個<center>標簽,將其置於已發布版本的中心。

Plotly還有一個用於嵌入的目標URL。 在這種情況下,它是https://plot.ly/~etpinard/251.embed 但RPub似乎並不喜歡這樣。 您也可以使用borderwidth來查看是否可以關閉邊框。

這就是說:圖表不會出現在預覽中。 我認為這是一個瀏覽器限制,因為RStudio不允許發布實時網絡內容(尚未)。

如果您有興趣並想要一些示例代碼, 這里是嵌入Plotly和ggplot2圖的博客文章 的來源 希望這可以幫助! 披露:我為Plotly工作。

更新:2015年8月21日

前往Plotly文檔,查看此答案的R Markdown版本。 在R控制台中打印圖形對象可創建在線圖形。 例如:

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

如果您使用帶有HTML輸出的knitr / R Markdown,則打印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')

我必須在我的網址后添加“.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)`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM