繁体   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