我正在使用R中的formattable包来生成HTML表。我可以使用formatter自定义表格中的数据值外观,例如字体大小,颜色等但我无法弄清楚如何改变表头行的外观。我可以使用col.names()更改实际的列名,但无法更改其外观。
例如,在下表中,如何更改标题行中的文本颜色或背景颜色(mpg,cyl,disp等)
最终,我计划使用formattable :: as.htmlwidget()和库(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
答案 0 :(得分:2)
您可以使用样式表。您可以将样式表嵌入.Rmd
文件中,也可以将样式表保存为.css
文件,然后从.Rmd
文件中引用它。如果您想了解有关在.Rmd
文件中嵌入样式表的更多信息,请参阅此question。如果您想了解有关引用外部样式表的更多信息,请参阅Section 3.1.4.1。在我的示例中,我将样式表(<style>...</style>
组件)嵌入到.Rmd
文件中。我的样式表定义了更改表格标题的样式。 Times New Roman的字体和表格标题&#39;字体颜色为红色。
---
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文件中的其他元素。