首页 > 解决方案 > 如何在 flexdashboard 中调整表格高度?

问题描述

我有一个 flexdasboard,其页面包含 1 个绘图,然后在其下方有一个表格。该表当前已压缩,因此虽然它显示 25 行,但它们都在滚动选项中,因此您一次只能查看其中 2 行。我怎样才能改变这个?

我目前正在使用以下代码进行编码:

---
title: "Plots and tables"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: scroll
---

{r setup, include=FALSE}
library(flexdashboard)
library(ggplot2)
library(dplyr)
library(tidyverse)
library(data.table)
library(plotly)
library(htmlwidgets)
library(DT)


Page 1 {style="position:relative;"}
================================


{r fig.width=14, fig.height=10}
plotlyp1 <- ggplotly(p1)
plotlyp1


Row {style="height:100pc;"}
--------------------------------------------------------

### {data-height=10000}

{r}

DT::datatable(one.data_bp,
  rownames = FALSE, options = list(pageLength = 25, lengthMenu = c(5, 10, 15, 20)), filter = 'top', height=10000
)

我已经删除了反勾号,因此所有内容都作为代码可见。此输出的表如下所示:

在此处输入图像描述

所以这有 25 行,就像我编写的代码一样,但它们是压缩的,需要滚动一次只有 1 或 2 行立即可见,我如何更改表格的高度,以便至少 5/25 的行可见?

编辑:我已经在技术上修复了它,并通过将Row设置更改为增加了可见的行数:

Row {.tabset .tabset-fade}
--------------------------------------------------------

幸运的是,我不介意表格看起来像是在标签中,但我觉得这不是最好或最直接的解决方法,有什么我能做的吗?

标签: rdatatabledtflexdashboard

解决方案


有同样的问题,我找不到 rmarkdown 选项或 DT 选项来解决这个问题,但这对我有用 - 我把这个 CSS 样式放到我的 rmarkdown 中:

<style>
.dataTables_scrollBody {
    height:400px !important;
    max-height:400px !important;
}
.chart-stage-flex {
    overflow:auto !important;
}
</style>

height 和 max-height 都需要在那里,但我认为它们不需要匹配。您可以为每个尝试不同的参数,但对我来说,100% 创建了一个太大且无法滚动的容器。您可能希望尝试其他高度参数:https ://developer.mozilla.org/en-US/docs/Web/CSS/height 。

由于我使用了固定高度,所以我在 .chart-stage-flex 中添加了 overflow:auto 样式,这样当窗口小于 400px 时就会出现滚动条。

我很想知道是否有人知道如何从 DT 或 knitr 等控制它。


推荐阅读