我在使用renderPlot
减少flexdashboard中的空白时遇到麻烦。
如果继续滚动,则直方图下方还有另一组量规。我需要在此页面上垂直滚动(其他未显示的页面不会滚动),因为我的实际用例在下面还有更多图解。此MRE显示了renderPlot
中的直方图的大小似乎正确,但是在图下方有很多空白。
是否可以固定每个图表面板的高度,例如### Plot 1A
?
以下是重现此MRE的代码:
---
title: "example"
runtime: shiny
output:
flexdashboard::flex_dashboard:
theme: bootstrap
---
```{r}
library(flexdashboard)
library(tidyverse)
```
Sidebar {.sidebar}
=====================================
Plots
=====================================
Row {style="height:100pc;"}
-------------------------------------
### Plot 1A
```{r}
carbP <- reactive({
mtcars %>%
mutate(carb = ifelse(carb==1, "yes", "no")) %>%
group_by(carb) %>%
count() %>% spread(carb, n) %>% ungroup() %>%
summarise(carbT = sum(yes, na.rm=TRUE),
total = sum(yes, na.rm=TRUE) + sum(no, na.rm=TRUE)) %>%
mutate(carbP = (carbT / total)*100)
})
renderGauge({
carbP <- carbP()
gauge(round(carbP$carbP, 0), min = 0, max = 100, symbol = '%',
label = paste("Percent Carb 1"),
gaugeSectors(colors = c("blue")
))
})
```
### Plot 2A
```{r}
renderPlot({
ggplot(mtcars, aes(x=mpg)) +
geom_histogram(fill = "green") +
theme_minimal() +
xlab("MPG") +
ylab("Count")
}, height = 200)
```
### Plot 3A
```{r}
carbP <- reactive({
mtcars %>%
mutate(carb = ifelse(carb==3, "yes", "no")) %>%
group_by(carb) %>%
count() %>% spread(carb, n) %>% ungroup() %>%
summarise(carbT = sum(yes, na.rm=TRUE),
total = sum(yes, na.rm=TRUE) + sum(no, na.rm=TRUE)) %>%
mutate(carbP = (carbT / total)*100)
})
renderGauge({
carbP <- carbP()
gauge(round(carbP$carbP, 0), min = 0, max = 100, symbol = '%',
label = paste("Percent Carb 3"),
gaugeSectors(colors = c("blue")
))
})
```
Row {style="height:100pc;"}
-------------------------------------
### Plot 1B
```{r}
carbP <- reactive({
mtcars %>%
mutate(carb = ifelse(carb==2, "yes", "no")) %>%
group_by(carb) %>%
count() %>% spread(carb, n) %>% ungroup() %>%
summarise(carbT = sum(yes, na.rm=TRUE),
total = sum(yes, na.rm=TRUE) + sum(no, na.rm=TRUE)) %>%
mutate(carbP = (carbT / total)*100)
})
renderGauge({
carbP <- carbP()
gauge(round(carbP$carbP, 0), min = 0, max = 100, symbol = '%',
label = paste("Percent Carb 2"),
gaugeSectors(colors = c("blue")
))
})
```
### Plot 2B
```{r}
renderPlot({
ggplot(mtcars, aes(x=mpg)) +
geom_histogram(fill = "green") +
theme_minimal() +
xlab("MPG") +
ylab("Count")
}, height = 200)
```
### Plot 3B
```{r}
carbP <- reactive({
mtcars %>%
mutate(carb = ifelse(carb==4, "yes", "no")) %>%
group_by(carb) %>%
count() %>% spread(carb, n) %>% ungroup() %>%
summarise(carbT = sum(yes, na.rm=TRUE),
total = sum(yes, na.rm=TRUE) + sum(no, na.rm=TRUE)) %>%
mutate(carbP = (carbT / total)*100)
})
renderGauge({
carbP <- carbP()
gauge(round(carbP$carbP, 0), min = 0, max = 100, symbol = '%',
label = paste("Percent Carb 4"),
gaugeSectors(colors = c("blue")
))
})
```