在R markdown中嵌入图形输出

Hei*_*ein 4 html r knitr r-markdown plotly

有一个博客条目描述了从图形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)`
Run Code Online (Sandbox Code Playgroud)

Mat*_*hez 5

我们第一次发布RPub时遇到了同样的问题.是您在已发布的RPub中的代码.

一旦它在RPubs.com上发布而不是在预览中,图表就会显示出来.您可以使用RPub中的"在浏览器中打开"选项来测试它:

RPub

一张纸条.我改为height800和width650,因为那个图有点高.我还添加了一个<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")
Run Code Online (Sandbox Code Playgroud)

如果您使用带有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')
Run Code Online (Sandbox Code Playgroud)