我正在使用R标记进行幻灯片(通过HTML输出)
slidy
)需要包含使用
plotly
. 幻灯片上的一个图表应该能填满大部分幻灯片,所以我已经设置好了
out.width
和
out.height
在块选项中设置为“95%”,并设置
autosize=T
在绘图布局选项中。当幻灯片投影(在大屏幕上或通过光束投射到墙上;或只是调整浏览器窗口的大小)时,绘图的宽度可以很好地缩放以填充窗口,而高度保持在默认的450px,而不是窗口高度的95%。
但是,如果我调整窗口大小或全屏(它在RStudio浏览器和Chrome窗口中都适用),那么情节图就可以识别相对高度并相应地调整大小。除了不是所有的幻灯片,只有我调整窗口大小时看到的当前幻灯片。下面是一个示例:绘图不会在大屏幕上填充整个幻灯片,但即使稍微调整浏览器窗口的大小,也会:
---
title: "Untitled"
output: slidy_presentation
---
```{r, echo=F, out.width = "98%", out.height="95%"}
suppressMessages({library(plotly)})
p = plot_ly(x=~iris[,1],y=~iris[,2] , type="scatter", mode="markers") %>% layout(autosize=T)
p
```
我尝试过各种各样的(大多是老套的)方法,这些方法是由那些纠结于与此相关的问题的人提出的,比如
here
和
here
,包括:
-
将动画设置为false(在某个地方有人建议)
-
混乱的对象的内部价值的对象(例如设置P$ SIZIN策略$ Debug THEE=“100%”)
-
设置
plot_ly()
高度到相对%值(这实际上禁用了相对大小调整,即使是调整窗口大小的技巧!)
-
在htmltools::div中包装打印输出(style=“height:95%”)(这也会禁用自动调整大小,并使打印高度更小)
-
试图通过将自定义CSS覆盖在RDD文件中,包括DIV.PPLT-Culul.PrutType、DIV.SvG-Cube、Sv.MIG-VSG,以及设置{Leave=“95%”;} -我可以像其他的CSS值一样可视地改变
background-color
,而设置高度不起作用。
-
在下面的绘图中添加按钮
this example
调用JavaScript
relayout
功能重绘情节,显然使它意识到窗口的尺寸,使之成为我想要的95%高度。所以这是可行的,但是需要在每个情节旁边添加一个奇怪的按钮,在我演示之前浏览我的幻灯片并按下每个按钮。
但是(除了最后一次黑客攻击)似乎什么都没用。而宽度/水平调整总是像一个魅力。
我不知道这是有意的行为还是bug,即使是后者,我也没有时间等待下一个版本,我需要找到一些解决办法。一个明显的缺点是在演示前浏览幻灯片,并在每个幻灯片上调整窗口大小,但是有太多的情节,因为这是可行的。而交互性是我所需要的,所以将plotly绘图渲染为png或其他什么都不是解决方案。
如何强制绘制一个不可分割的图,立即尊重r中的参数,这样一个新的图将填充一个幻灯片?