gt table 中单元格内文本的条件字体颜色
Conditional font color for text within a cell in a gt table
我正在尝试找出是否有一种方法可以使用 R 中的 Gt 包为单元格内的特定文本着色。我没有可重现的示例,因为我没有找到任何教程或示例这样做。
library(tidyverse)
library(gt)
type <- c("A", "B")
track <- c("G-P-L-H-H", "G-H-P-L-G")
table <- tibble(type, track) %>% gt()
对于上面的table,我希望轨道栏的字体颜色为G = 红色、H = 蓝色、L = 绿色和P = 黄色。有没有办法做到这一点?这是我正在使用的真实 table 的一个小代表,它将有更多的行与字母的随机组合。
这是否达到了您的要求?例如,我将 html
标签内的“G”替换为 G,其样式对应于所需的颜色。
table <- tibble(type, track) %>%
mutate(
track = track %>%
str_replace_all("G", '<a style="color:red">G</a>') %>%
str_replace_all("H", '<a style="color:blue">H</a>') %>%
str_replace_all("L", '<a style="color:green">L</a>') %>%
str_replace_all("P", '<a style="color:yellow">P</a>')
) %>%
gt() %>%
fmt_markdown(columns = "track")
gt
包有一个函数 text_transform()
用于此目的:
library(tidyverse)
library(gt)
type <- c("A", "B")
track <- c("G-P-L-H-H", "G-H-P-L-G")
tibble(type, track) %>%
gt() %>%
text_transform(locations = cells_body(vars(track)),
fn = function(x) {
x <- gsub("G", "<span style=\"color: red;\">G</span>", x)
x <- gsub("H", "<span style=\"color: blue;\">H</span>", x)
x <- gsub("L", "<span style=\"color: green;\">L</span>", x)
x <- gsub("P", "<span style=\"color: yellow;\">P</span>", x)
})
我正在尝试找出是否有一种方法可以使用 R 中的 Gt 包为单元格内的特定文本着色。我没有可重现的示例,因为我没有找到任何教程或示例这样做。
library(tidyverse)
library(gt)
type <- c("A", "B")
track <- c("G-P-L-H-H", "G-H-P-L-G")
table <- tibble(type, track) %>% gt()
对于上面的table,我希望轨道栏的字体颜色为G = 红色、H = 蓝色、L = 绿色和P = 黄色。有没有办法做到这一点?这是我正在使用的真实 table 的一个小代表,它将有更多的行与字母的随机组合。
这是否达到了您的要求?例如,我将 html
标签内的“G”替换为 G,其样式对应于所需的颜色。
table <- tibble(type, track) %>%
mutate(
track = track %>%
str_replace_all("G", '<a style="color:red">G</a>') %>%
str_replace_all("H", '<a style="color:blue">H</a>') %>%
str_replace_all("L", '<a style="color:green">L</a>') %>%
str_replace_all("P", '<a style="color:yellow">P</a>')
) %>%
gt() %>%
fmt_markdown(columns = "track")
gt
包有一个函数 text_transform()
用于此目的:
library(tidyverse)
library(gt)
type <- c("A", "B")
track <- c("G-P-L-H-H", "G-H-P-L-G")
tibble(type, track) %>%
gt() %>%
text_transform(locations = cells_body(vars(track)),
fn = function(x) {
x <- gsub("G", "<span style=\"color: red;\">G</span>", x)
x <- gsub("H", "<span style=\"color: blue;\">H</span>", x)
x <- gsub("L", "<span style=\"color: green;\">L</span>", x)
x <- gsub("P", "<span style=\"color: yellow;\">P</span>", x)
})