r - 如何使用 R formattable 包更改表格标题行的外观

标签 r html-table formattable

我在 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/

相关文章:

r - 将个体列表转换为 R 中对的出现

r - 根据另一个 selectInput 的选择来过滤一个 selectInput?

html - 为什么在 Next.js 中使用表格会引发水合作用错误?

r - 如何检查CRAN镜像是否过时?

r - 如何创建具有负轴和正轴的散点图?

html - 如何降低表格行高

jquery - 检索 ASP.NET 中动态创建的表的单元格值

r - 如何将 R 格式表呈现为 pdf 输出以及如何在表格中显示百分比

html - 更改标题样式可格式化 R

r - 在 R 中为可格式化数据表着色 - 库存数据