gpt4 book ai didi

html - ioslides 中 Shiny 的应用程序大小

转载 作者:太空宇宙 更新时间:2023-11-04 15:58:52 25 4
gpt4 key购买 nike

我在这里使用 ScatterD3 制作了一个基本的 Shiny 应用程序,但是当我尝试将它嵌入到 ioslides 中时演示文稿被切断并出现滚动条。幻灯片可以轻松容纳整个应用程序(我已经测量过大小),但是 ioslidesshiny正在选择对其进行分段。我需要情节显示这个大小,因为在我的真实元素中,我在图例中有一个很长的列表,需要 720 像素左右的高度。 enter image description here这是代码:

编辑 使用 Joris 的建议并删除不必要的 wellPanel,我将高度重置为 550,这在幻灯片的范围内显然足够小。我仍然得到这个滚动条,感觉必须有一种方法来调整呈现的高度。本质上,我想使用整张幻灯片并用这个应用填充它。

```{r, echo=FALSE}
library(scatterD3)

ui <- fluidPage(
scatterD3Output("distPlot", height = "550px")
)

server <- function(input, output) {
output$distPlot <- renderScatterD3({
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg, lab = names,
col_var = cyl, symbol_var = am,
xlab = "Weight", ylab = "Mpg", col_lab = "Cylinders",
symbol_lab = "Manual transmission")
})
}
shinyApp(ui = ui, server = server)
```

我试过添加 options = list(height = 1080)到 shinyApp 调用。我也看了this post ,并设置一个 <div style="margin-left:-65px; margin-top:-70px; width:112%; height:130%;">启用了我想要的大部分功能,但它仍然拒绝调整对我来说最重要的高度参数。我尝试添加自定义 CSS 以使溢出可见,但这些解决方案似乎都不起作用。

最佳答案

您应该正确设置您的页面,以便控件实际位于绘图旁边,并使用 widthheight函数的参数 scatterD3Output .

请记住,尽管幻灯片看起来足够大,但您仍需要为标题保留一些空间。因此,对于 720 像素的高度,绘图实际上不适合幻灯片。

编辑:Ioslides 还允许您使用自定义 css 文件。 iframe 是构建幻灯片内容的实际框架。操纵那个会给你更多的空间。除此之外,您还可以调整幻灯片本身的大小以及水平和垂直位置。

将以下内容放入名为 eg temp.css 的文件中在与 Rmd 文件相同的目录中:

slides > slide {
width: 1000px;
height: 800px;
padding: 10px 20px;
left: 46%;
top: 45%;
}

iframe {
height: 900px;
}

并添加css: temp.css到您的 .Rmd 文件,如下所示:

---
runtime: shiny
output:
ioslides_presentation:
css: temp.css
---

##


```{r, echo=FALSE}
library(scatterD3)

ui <- fluidPage(
fluidRow(
column(4,
wellPanel(
selectInput("Living", "Choose Life",
choices = c("Life", "Death"))
)
),
column(8,
scatterD3Output("distPlot", height = "550px"))
)
)

server <- function(input, output) {
output$distPlot <- renderScatterD3({
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg, lab = names,
col_var = cyl, symbol_var = am,
xlab = "Weight", ylab = "Mpg", col_lab = "Cylinders",
symbol_lab = "Manual transmission")
})
}
shinyApp(ui = ui, server = server)
```

给出:enter image description here

您可以尝试使用这些以获得更好的合身性。

旁注:在许多情况下,完全没有必要创建整个应用程序。如果您只想使用一个简单的绘图进行更新,您可以将 UI 和服务器端分别放在自己的 R block 中,并使用 outputArgs操纵所有的输出函数。这不适用于 scatterD3包,但无论如何知道它是一件好事。

---
runtime: shiny
output: ioslides_presentation
---

## John

```{r, echo=FALSE}
library(scatterD3)
```

```{r, echo = FALSE}
selectInput("Living", "Choose Life",
choices = c("Life", "Death"))
```



```{r echo = FALSE, width = "80%", height = "400px"}
renderPlot({
mtcars$names <- rownames(mtcars)
plot(mpg~wt, data = mtcars)
}, outputArgs = list(width = "80%",height="400px"))

```

关于html - ioslides 中 Shiny 的应用程序大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43257725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com