У меня проблемы с уменьшением пустого пространства в flexdashboard с renderPlot
.
Если вы продолжите прокрутку, то под гистограммами будет другой набор индикаторов.Мне нужна вертикальная прокрутка на этой странице (другие страницы, которые не показаны, не прокручиваются), потому что в моем реальном случае использования есть еще несколько графиков ниже.Это 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")
))
})
```