大数跨境
0
0

R优雅的绘制表格-(中)

R优雅的绘制表格-(中) R语言数据分析指南
2021-10-05
0
导读:本节来介绍如何给表格添加更多的元素,如定义色块颜色,插入图形等;喜欢的小伙伴扫描文末二维码加入我的交流群,持

本节来介绍如何给表格添加更多的元素,如定义色块颜色,插入图形等;喜欢的小伙伴扫描文末二维码加入我的交流群,持续分享更多优质资源

加载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交流群,或者加我微信邀请你加入微信交流群



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

【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读222
粉丝0
内容1.2k