[英]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中的“在瀏覽器中打開”選項來測試它:
一張紙條。 我將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::knit
和markdown::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.