gt table 输出为 png 时被截断

gt table truncated when output as png

我正在尝试使用 gtsave 输出相当长的 gt table。它不断被截断,最后几列丢失了。滚动条也出现在输出的图像中。

这是输出的 table:

我希望它看起来像我的 5% 变化 table,如下所示:

这是我的两个 table 代码(包括 R Markdown headers):

3% Table

{r hotspot 3% 100 coverage reads table, fig.dim = c(12, 6)}
setwd(output_hotspot)
hotspot_3pct_table <- hotspot_3pct_longer %>% 
  ungroup() %>%
  gt() %>%
  tab_header(title = "Variation Across Lots at Select Base Pairs", subtitle = paste0("At least 100 coverage reads with at least 3% variation")) %>% 
    cols_label(
    lot = "Lot"
  ) %>%
  fmt_number(columns = 2:24, decimals = 2) %>%
  fmt_missing(columns =  everything(), missing_text = "--") %>%
  tab_source_note(source_note = paste0("Dash indicates no variation present in lot")) %>%
  tab_options(
    table.width = pct(100)
  )

gtsave(hotspot_3pct_table, "hotspot_3pct.png")

5% Table

{r hotspot 5% 100 coverage reads table, fig.dim = c(12, 6)}
setwd(output_hotspot)
hotspot_5pct_table <- hotspot_5pct_longer %>% 
  ungroup() %>%
  gt() %>%
  tab_header(title = "Variation Across Lots at Select Base Pairs", subtitle = paste0("At least 100 coverage reads with at least 5% variation")) %>% 
    cols_label(
    lot = "Lot"
  ) %>%
  fmt_number(columns = 2:18, decimals = 2) %>%
  fmt_missing(columns =  everything(), missing_text = "--") %>%
  tab_source_note(source_note = paste0("Dash indicates no variation present in lot"))

gtsave(hotspot_5pct_table, "hotspot_5pct.png", expand = 10)

我尝试了不同的 fig.dim 设置和不同的 expand 设置。我以前没有遇到过这个问题,所以我不确定如何解决这个问题。

每个数据集的代表:

3% 数据集

hotspot_3pct_longer = structure(list(lot = c("ABL GMP1", "MVS", "Tox Lot", "MVB1", 
"MVB2", "CTM2", "CTM1", "Fuji 30k", "Fuji 7.5k"), `12` = c(0.0382775119617225, 
0.0390625, 0.034883720930233, NA, NA, NA, NA, NA, NA), `13` = c(0.0588235294117647, 
NA, NA, 0.048076923076924, 0.0714285714285714, 0.0417789757412399, 
NA, NA, NA), `253` = c(NA, NA, 0.03360709902766, NA, NA, NA, 
NA, NA, NA), `1266` = c(0.0646451454923886, NA, NA, NA, NA, NA, 
NA, NA, NA), `1820` = c(1, NA, NA, NA, NA, NA, NA, NA, NA), `1821` = c(1, 
NA, NA, NA, NA, NA, NA, NA, NA), `2861` = c(0.0434994715017482, 
NA, NA, NA, NA, NA, NA, NA, NA), `3031` = c(0.183159188690842, 
NA, NA, NA, NA, NA, NA, NA, NA), `3252` = c(0.0521527362955475, 
NA, NA, NA, NA, NA, NA, NA, NA), `3368` = c(0.107515576323988, 
NA, NA, NA, NA, NA, NA, NA, NA), `3512` = c(0.345980014097939, 
NA, 0.064333937531195, NA, NA, 0.0822086320821032, 0.078818748712571, 
0.089279658964298, NA), `3527` = c(0.17209788747124, NA, 0.0377838832455329, 
NA, NA, 0.0471288691223414, 0.044333490343853, 0.059236465044716, 
NA), `3554` = c(0.250983372072233, NA, 0.05112660944206, NA, 
NA, 0.0639663737103554, 0.055374526495866, 0.0861535232698471, 
0.031875819851334), `4752` = c(NA, NA, 0.04827943749595, NA, 
NA, 0.0498005129666572, 0.049766115231033, 0.052495800335974, 
0.0519236625723281), `4761` = c(NA, NA, 0.038136808232708, NA, 
NA, 0.0317014863319821, 0.036080058906219, 0.034794423440454, 
0.033717392388648), `7078` = c(NA, NA, 0.032269021739131, NA, 
NA, NA, NA, NA, NA), `7299` = c(0.0830269157229004, 0.083128195417535, 
0.361278273500727, 0.375946173254836, 0.216166788588149, 0.110078513058805, 
0.10393717387867, 0.355137204850032, 0.310679611650486), `7300` = c(0.0525369400359628, 
0.050222762251924, 0.245149911816579, 0.232037691401649, 0.148067737733391, 
0.0629358437935844, 0.063008245663919, 0.236435818262021, 0.20123839009288
), `7301` = c(NA, NA, 0.0519736842105269, 0.038054968287527, 
NA, NA, NA, 0.037803780378038, 0.034240150093809), `7315` = c(NA, 
NA, NA, 0.037735849056604, 0.0406386066763426, NA, NA, NA, 0.036363636363637
), `7318` = c(0.0474754244861484, 0.07482430756511, NA, NA, 0.0369206598586017, 
0.0493811726465808, 0.046463780540078, NA, NA), `7319` = c(0.0623240852432649, 
0.083063994828701, NA, 0.0326086956521739, 0.058765915768854, 
0.0560072267389341, 0.0604447228311939, 0.053601340033501, 0.039495798319328
), `7320` = c(0.0808298755186722, 0.10897808803568, NA, 0.045643153526971, 
0.0581113801452785, 0.0764283011729096, 0.081006685017696, 0.04, 
0.031458531935177)), row.names = c(NA, -9L), groups = structure(list(
    lot = c("ABL GMP1", "CTM1", "CTM2", "Fuji 30k", "Fuji 7.5k", 
    "MVB1", "MVB2", "MVS", "Tox Lot"), .rows = structure(list(
        1L, 7L, 6L, 8L, 9L, 4L, 5L, 2L, 3L), ptype = integer(0), class = c("vctrs_list_of", 
    "vctrs_vctr", "list"))), row.names = c(NA, -9L), class = c("tbl_df", 
"tbl", "data.frame"), .drop = TRUE), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"))

5% 数据集

hotspot_5pct_longer = structure(list(lot = c("MVB2", "ABL GMP1", "CTM1", "CTM2", "Tox Lot", 
"Fuji 30k", "Fuji 7.5k", "MVB1", "MVS"), `13` = c(0.0714285714285714, 
0.0588235294117647, NA, NA, NA, NA, NA, NA, NA), `1266` = c(NA, 
0.0646451454923886, NA, NA, NA, NA, NA, NA, NA), `1820` = c(NA, 
1, NA, NA, NA, NA, NA, NA, NA), `1821` = c(NA, 1, NA, NA, NA, 
NA, NA, NA, NA), `3031` = c(NA, 0.183159188690842, NA, NA, NA, 
NA, NA, NA, NA), `3252` = c(NA, 0.0521527362955475, NA, NA, NA, 
NA, NA, NA, NA), `3368` = c(NA, 0.107515576323988, NA, NA, NA, 
NA, NA, NA, NA), `3512` = c(NA, 0.345980014097939, 0.078818748712571, 
0.0822086320821032, 0.064333937531195, 0.089279658964298, NA, 
NA, NA), `3527` = c(NA, 0.17209788747124, NA, NA, NA, 0.059236465044716, 
NA, NA, NA), `3554` = c(NA, 0.250983372072233, 0.055374526495866, 
0.0639663737103554, 0.05112660944206, 0.0861535232698471, NA, 
NA, NA), `4752` = c(NA, NA, NA, NA, NA, 0.052495800335974, 0.0519236625723281, 
NA, NA), `7299` = c(0.216166788588149, 0.0830269157229004, 0.10393717387867, 
0.110078513058805, 0.361278273500727, 0.355137204850032, 0.310679611650486, 
0.375946173254836, 0.083128195417535), `7300` = c(0.148067737733391, 
0.0525369400359628, 0.063008245663919, 0.0629358437935844, 0.245149911816579, 
0.236435818262021, 0.20123839009288, 0.232037691401649, 0.050222762251924
), `7301` = c(NA, NA, NA, NA, 0.0519736842105269, NA, NA, NA, 
NA), `7318` = c(NA, NA, NA, NA, NA, NA, NA, NA, 0.07482430756511
), `7319` = c(0.058765915768854, 0.0623240852432649, 0.0604447228311939, 
0.0560072267389341, NA, 0.053601340033501, NA, NA, 0.083063994828701
), `7320` = c(0.0581113801452785, 0.0808298755186722, 0.081006685017696, 
0.0764283011729096, NA, NA, NA, NA, 0.10897808803568)), row.names = c(NA, 
-9L), groups = structure(list(lot = c("ABL GMP1", "CTM1", "CTM2", 
"Fuji 30k", "Fuji 7.5k", "MVB1", "MVB2", "MVS", "Tox Lot"), .rows = structure(list(
    2L, 3L, 4L, 6L, 7L, 8L, 1L, 9L, 5L), ptype = integer(0), class = c("vctrs_list_of", 
"vctrs_vctr", "list"))), row.names = c(NA, -9L), class = c("tbl_df", 
"tbl", "data.frame"), .drop = TRUE), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"))

使用 vwidthvheight 将选项传递给 webshot()。请参阅文档, https://www.rdocumentation.org/packages/webshot/versions/0.5.2/topics/webshot

gtsave(hotspot_3pct_table, "hotspot_3pct.png", vwidth = 1500, vheight = 1000)