gpt4 book ai didi

r - 如何在运行时 Shiny 的 rmarkdown html_notebook 中使用 renderPlot 布局 2 行,然后是 1 列

转载 作者:行者123 更新时间:2023-12-04 15:06:18 24 4
gpt4 key购买 nike

考虑以下 rmarkdown html_notebook 示例:

---
output: html_notebook
runtime: shiny
---

```{r}
library(ggplot2)
library(shiny)

blank1 <- renderPlot({ ggplot() + labs(title = "Plot 1") })
blank2 <- renderPlot({ ggplot() + labs(title = "Plot 2") })
blank3 <- renderPlot({ ggplot() + labs(title = "Plot 3") })

column(6, blank1, blank2)
column(6, blank3)
```

我想让图表显示为:

plot-layout

我尝试了一些事情,包括:
fluidRow(
column(6, blank1, blank2),
column(6, blank3)
)

但是我一直没能拿到 Plot 3跨越多行。

附加说明(每条评论):
  • 我会欢迎 cowplotpatchwork解决方案,但我需要来自 shiny 的 react 性(例如 ggplot(aes(x = input$var_select)) + ... .
  • 理想情况下,我想利用 column()和/或 fluidRow()保持响应式设计方面。
  • 最佳答案

    我能够通过将高度传递给 renderPlot 来解决这个问题。明确地。我仍然对其他解决方案很感兴趣:

    blank1 <- renderPlot({ ggplot() + labs(title = "Plot 1") }, height = 200)
    blank2 <- renderPlot({ ggplot() + labs(title = "Plot 2") }, height = 200)
    blank3 <- renderPlot({ ggplot() + labs(title = "Plot 3") }, height = 400)

    fluidRow(
    column(6, fluidRow(blank1), fluidRow(blank2)),
    column(6, fluidRow(blank3))
    )

    从响应式设计方法来看,它并不完美,但它会起作用。

    Shiny with Plot Heights

    关于r - 如何在运行时 Shiny 的 rmarkdown html_notebook 中使用 renderPlot 布局 2 行,然后是 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53823503/

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