如何用R的gt包创建跨行列表格并仅旋转首列文本?
解决gt包首列文本旋转的问题
你需要精准定位首列的CSS选择器,避免之前的.gt_row选择器影响所有列。具体修改如下:
完整代码
p_df <- tibble(old=paste0("P",1:3), P1=rep(0,3), P2=rep(0,3), P3=rep(0,3), Jahr=2024 ) p_df |> gt(rowname_col = "old", groupname_col = "Jahr", id = "one") |> tab_spanner(label=2020,columns=2:4) |> tab_options(row_group.as_column = TRUE) |> tab_style( style=cell_text(v_align="middle"), locations = cells_row_groups()) |> opt_css( css = "#one tbody tr td:first-child { text-align: center; transform: rotate(-90deg); height: 80px; /* 根据文本长度调整高度,避免截断 */ }" )
关键说明
- 替换原CSS选择器为
#one tbody tr td:first-child,这个选择器仅选中表格主体内每行的第一个单元格(即你需要旋转的首列),不会影响其他列。 - 添加
height属性是为旋转后的文本预留足够显示空间,可根据实际文本长度调整数值。
内容的提问来源于stack exchange,提问作者Erich Neuwirth
相关产品推荐
相关产品推荐

