удалить пустое пространство панели диаграмм flexdashboard - PullRequest
0 голосов
/ 21 октября 2018

У меня проблемы с уменьшением пустого пространства в flexdashboard с renderPlot.

Если вы продолжите прокрутку, то под гистограммами будет другой набор индикаторов.Мне нужна вертикальная прокрутка на этой странице (другие страницы, которые не показаны, не прокручиваются), потому что в моем реальном случае использования есть еще несколько графиков ниже.Это MRE показывает, как гистограмма в renderPlot кажется правильного размера, но имеет много пробелов ниже графиков.

enter image description here

Есть лиспособ зафиксировать высоту каждой панели диаграммы, например, ### 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")
      ))
  })
```
...