[英]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.