本节来介绍如何给表格添加更多的元素,如定义色块颜色,插入图形等;喜欢的小伙伴扫描文末二维码加入我的交流群,持续分享更多优质资源
加载R包
library(tidyverse)
library(gt)
library(gtExtras)
定义数据框颜色
# 默认高=紫色,低=绿色
head(mtcars) %>% gt::gt() %>%
gt_hulk_col_numeric(mpg:qsec, reverse = FALSE)

设置连续型颜色
mtcars %>% head() %>% gt() %>% gt_color_rows(mpg:qsec)

更改调色板
mtcars %>% head() %>% gt() %>%
gt_color_rows(mpg:qsec, palette = "ggsci::blue_material")

自定义颜色
mtcars %>% head() %>% gt() %>%
gt_color_rows(mpg:qsec, palette = c("red","green"),use_paletteer = FALSE)

突出特定行
head(mtcars[,1:5]) %>% tibble::rownames_to_column("car") %>% gt() %>%
gt_highlight_rows(rows = 5, fill = "lightgrey",bold_target_only = TRUE,
target_col = car)
# target_col 指定此列为粗体
插入图片
car_summary <- mtcars %>%
dplyr::group_by(cyl) %>%
dplyr::summarize(
mean = mean(mpg),
sd = sd(mpg),
mpg_data = list(mpg),
.groups = "drop")
car_summary %>%
arrange(desc(cyl)) %>%
gt() %>%
gtExtras::gt_sparkline(mpg_data) %>%
fmt_number(columns = mean:sd, decimals = 2)
插入密度图
car_summary %>%
arrange(desc(cyl)) %>%
gt() %>%
gtExtras::gt_sparkline(mpg_data, type = "density", line_color = "blue",
fill_color = "red") %>%
fmt_number(columns = mean:sd, decimals = 1)
柱状图
car_summary %>%
arrange(desc(cyl)) %>%
gt() %>%
gtExtras::gt_sparkline(mpg_data, type = "histogram", line_color = "black",
fill_color = "grey", bw = 4) %>%
fmt_number(columns = mean:sd, decimals = 1)
条形图
mtcars %>%
dplyr::select(cyl:wt, mpg) %>%
head() %>%
gt() %>%
gt_plt_bar(column = mpg, keep_column = TRUE, width = 35)
mtcars %>%
head() %>%
dplyr::select(cyl, mpg) %>%
dplyr::mutate(mpg_pct_max = round(mpg/max(mpg) * 100, digits = 2),
mpg_scaled = mpg/max(mpg) * 100) %>%
dplyr::mutate(mpg_unscaled = mpg) %>%
gt() %>%
gt_plt_bar_pct(column = mpg_scaled, scaled = TRUE) %>%
gt_plt_bar_pct(column = mpg_unscaled, scaled = FALSE,
fill = "blue", background = "lightblue") %>%
cols_align("center", contains("scale")) %>%
cols_width(4 ~ px(125),5 ~ px(125))
堆砌条形图
iris %>% select(5,1,2,3,4) %>%
pivot_longer(-Species) %>%
group_by(name,Species) %>%
summarize(value=max(value)) %>%
summarize(list_data = list(value)) %>% gt() %>%
gt_plt_bar_stack(list_data, width = 65,
labels = c("setosa","versicolor","virginica"),
palette= c("#ff4343", "#bfbfbf","#0a1c2b"))
喜欢的小伙伴欢迎扫描下方二维码加入我的qq交流群,或者加我微信邀请你加入微信交流群

关注下方公众号下回更新不迷路,如需要加入微信交流群,请在菜单栏处添加作者微信,备注单位+方向+姓名即可邀您进群

