RMarkdown:如何旋转表列标题

时间:2018-03-05 11:49:37

标签: css r-markdown

我试图在RMarkdown中旋转表格列标题。由于我对CSS不了解,到目前为止,我的尝试被证明是徒劳的。

那么,我该如何旋转表格列标题呢?

以下是RMarkdown中表格的最小示例:

---
title: "Untitled"
output: 
  html_document:
    df_print: paged
    style: ./Table.css
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(kableExtra)
library(knitr)
```

<div class="table-header-rotated">

```{r test, result="asis"}

kable(head(mtcars), "html")
```
</div>

CSS文件是根据此处提供的代码制作的:https://codepen.io/chriscoyier/pen/Fapif

任何人都可以给我一个提示吗?

2 个答案:

答案 0 :(得分:1)

您可以使用kable_styling()中的row_spec()kableExtra

---
title: "Untitled"
output: 
  html_document:
    df_print: paged
    style: ./Table.css
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(kableExtra)
library(knitr)
```

<div class="table-header-rotated">

```{r test, result="asis"}
kable(head(mtcars), "html") %>%
kable_styling("striped", full_width = F) %>%
  row_spec(0, angle = -45)
```

<强>产率: enter image description here

答案 1 :(得分:0)

如果您捕获 html 输出,您可以使用 gsub 编辑适当的行以匹配所需的 classdivspan 调用,然后使用 {{ 1}} 返回编辑后的输出。我无法让 cat 完全按照链接所示工作,但下面从 here 中获取的方法确实旋转了标签:

以 ```{css} 开头的第一个块

css

th.rotate {
  /* Something you can count on */
  height: 140px;
  white-space: nowrap;
}

th.rotate > div {
  transform: 
    /* Magic Numbers */
    translate(25px, 51px)
    /* 45 is really 360 - 45 */
    rotate(315deg);
  width: 30px;
}

th.rotate > div > span {
  border-bottom: 1px solid #ccc;
  padding: 5px 10px;
}