宽桌下的滚动条不适合页面宽度

时间:2015-07-02 19:50:32

标签: r knitr r-markdown

我正在使用knitr来制作动态文档。如果表太宽而不适合页面(屏幕)宽度,是否有任何方法可以强制它适合页面,同时在表格下方保留滚动条,以便可以从左向右滑动条形并读取表格内容?

这是一个测试代码

---
title: "Untitled"
author: "ath"
date: "07/02/2015"
output: 
html_document:
  css:custom.css
---
```{r set-options}
options(width = 80)
```
```{r test, results='markup'}
df.matrix <- matrix(runif(300, min = 0, max = 300), nrow = 2)
df.matrix <- as.data.frame(df.matrix)
colnames(df.matrix) <- paste("col", as.character(seq(1:150)), sep = "")
library("knitr")
kable(df.matrix, col.names = colnames(df.matrix))
```

看起来选项中的宽度不起作用。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用kableExtra为垂直和水平滚动添加滚动条。

示例:

---
title: "Untitled"
author: "ath"
date: "07/02/2015"
output: html_document
---

```{r set-options}
library("knitr")
library(kableExtra)
library(magrittr)
options(width = 80)
```

```{r test, results='markup'}
df.matrix <- matrix(runif(300, min = 0, max = 300), nrow = 2)
df.matrix <- as.data.frame(df.matrix)
colnames(df.matrix) <- paste("col", as.character(seq(1:150)), sep = "")
```

```{r kable, results = "asis"}
df.matrix %>%
  kable(format = "html", col.names = colnames(df.matrix)) %>%
  kable_styling() %>%
  kableExtra::scroll_box(width = "100%", height = "100px")
```

<br>

```{r}
devtools::session_info()
```

下表的截图。您可以获取示例.Rmd文件和生成的.html文件here的副本。

enter image description here