gt 表 - 冻结列(或使它们更具可读性)

问题描述 投票:0回答:1

我正在 R Studio 中使用 gt 包创建一个表,但我无法找到一种优雅的方法来使具有多行的表的列更具可读性。

采取以下代码:

gt::sp500 %>% slice(1:100) %>%
  mutate(month = lubridate::month(date)) %>%
  group_by(month) %>%
  gt::gt(rowname_col = "date")

如下所示,通过前 35 行可以看到列......

但是一旦你超越这个范围,我发现自己必须向上滚动才能记住哪一列高,哪一列低,以及调整后的收盘价是在第六列还是第四列。有没有办法在滚动时将这些列冻结在适当的位置(使用 gt 包),或者在每个组之后轻松重复列标题(不会弄乱底层数据)?

r data-visualization gt
1个回答
0
投票

问题与外部 div 和 .cell-output-display 中设置的溢出属性有关。只需取消它们的设置即可。这是一个工作示例:

gt::sp500 %>% slice(1:100) %>%
  mutate(month = lubridate::month(date)) %>%
  group_by(month) %>%
  gt::gt(id="two",rowname_col = "date") %>% opt_css(
    css = "
    .cell-output-display {
      overflow-x: unset !important;
    }
    div#two {
      overflow-x: unset !important;
      overflow-y: unset !important;
    }
    #two .gt_col_heading {
      position: sticky !important;
      top: 0 !important;
    }
    ")

所有学分均归于 12

© www.soinside.com 2019 - 2024. All rights reserved.