将plotly html嵌入到reveal.js-presentation中

5th*_*5th 5 html css r reveal.js plotly

我正在构建一个 Reveal.js 演示文稿。我有一张图表,需要预先显示。然而,该图只是稍后生成的。因此我将其保存为html。并使用以下方式加载它:

<style>
  .p_iframe iframe {
    width:90%;
    height:576px;
}
</style>

<div class="p_iframe">
<iframe frameborder="0" seamless='seamless' scrolling=no src="test.html"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

然而,如果我在 Opera、Firefox 或 MS Edge 中打开,这会切断图例。但如果我使用iframe没有div图表的尺寸不正确。如何修改csshtml以使图表正确加载?我需要用浏览器打开演示文稿。

更新:该图似乎可以在 Firefox 中运行,也可能在 Chrome 中运行。感谢 DJack 指出这一点。是否有任何替代代码可以使其在其他较少使用的浏览器(例如 MS Edge 或 Opera)中工作?

在此输入图像描述

对于iframe-options 我使用这个plotly help-page。有一个关于如何嵌入plotly的html版本 - 但我不明白如何修改它,这样我就可以从本地驱动器加载plotly-html。

我使用以下 Rmd 协议生成了图表和 html:

---
title: "Untitled"
output: revealjs::revealjs_presentation
---

## Slide with R Code and Output
```{r}
library(plotly)

trace_0 <- rnorm(100, mean = 5)
trace_1 <- rnorm(100, mean = 0)
trace_2 <- rnorm(100, mean = -5)
x <- c(1:100)

data <- data.frame(x, trace_0, trace_1, trace_2)

p <- plot_ly(data, x = ~x, y = ~trace_0, name = 'trace 0', type = 'scatter', mode = 'lines') %>%
  add_trace(y = ~trace_1, name = 'trace 1', mode = 'lines+markers') %>%
  add_trace(y = ~trace_2, name = 'trace 2', mode = 'markers')

htmlwidgets::saveWidget(p,'test.html')
```

<style>
  .p_iframe iframe {
    width:90%;
    height:576px;
}
</style>

<div class="p_iframe">
<iframe frameborder="0" seamless='seamless' scrolling=no src="test.html"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)