我在 R 中使用 formattable 包来生成 HTML 表。我可以使用格式化程序来自定义表中数据值的外观,例如字体大小、颜色等。但我不知道如何改变表格标题行的外观。我可以使用 col.names() 改变实际的列名,但无法改变它们的外观。
例如,在下表中,如何更改标题行(mpg、cyl、disp 等)中的文本颜色或背景颜色?
最终,我打算使用 formattable::as.htmlwidget() 和 library(webshot) 来抓取表格的图像文件,请参阅
Command for exporting/saving table made with Formattable package in R
谢谢
library(formattable)
formatRed <- formatter("span"
, style = x ~ style(color = ifelse(x > 21 , "red", "black")))
formatSize <- formatter("span"
, style = x ~ style("font-size" = "8px"))
exTb <- formattable(head(mtcars, 5)
, table.attr = "class='table table-striped'"
, list(mpg = formatRed
, wt = formatSize)
)
exTb
最佳答案
您可以使用样式表。您可以将样式表嵌入 .Rmd
文件,或者,您可以将样式表另存为 .css
文件,然后从 .Rmd
引用它文件。如果您想了解更多关于将样式表嵌入到您的 .Rmd
中的信息文件,请参阅此 question .如果您想了解更多关于引用外部样式表的信息,请参阅 Section 3.1.4.1 .在我的示例中,我将样式表(<style>...</style>
组件)嵌入到我的 .Rmd
中。文件。我的样式表定义了将表格标题的字体更改为 Times New Roman 并将表格标题的字体颜色更改为红色的样式。
---
title: "Test"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
<style>
thead {
font-family: "Times New Roman";
color: red;
}
</style>
```{r, echo=FALSE}
library(formattable)
df <- data.frame(Change = c(1), My = c(2), Style = c(3))
ft <- formattable(df)
ft
```
通过扩展样式表,您可以影响 HTML 文件中的其他元素。
关于r - 如何使用 R formattable 包更改表格标题行的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42070506/