在GT表中固定列(或使它们更易读)

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

请参考以下代码:

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


如下所示,前35行中可以看到列... enter image description here 但是一旦你超过那个范围,你会发现自己不得不向上滚动以记住哪一列是高的,哪一列是低的,调整后的收盘价是在第6列还是第4列。是否有一种方法可以在滚动时将这些列固定在原位(使用gt包),或者在每个组后轻松重复列标题(而不会影响基础数据)?

enter image description here


我相信目前在{gt}中没有一个能够轻松重复标题的功能。这个主题上的问题可能会有所帮助:https://github.com/rstudio/gt/issues/194。如果你感兴趣,{kable}包在重复标题方面做得更好。 - undefined
1个回答

0
问题与外部div和.cell-output-display中设置的overflow属性有关。只需取消设置它们,问题就会解决。以下是一个可行的示例:
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接