r - Rmarkdown PDF 中数据表屏幕截图中的空白

标签 r shiny r-markdown dt

我面临着一个新的问题,即在 pdf 文档中截取 html 小部件的屏幕截图以供进一步实现。 datatable(DT 包)的屏幕截图高度太高,在 rmarkdown 文档中显示为空白(很容易被fig.cap 的位置,位于 datatable 末尾下方)。我无法理解为什么会发生这种情况,我想删除它(数据表下没有空格)。看一下下面的 test.Rmd 示例,它充分显示了问题:

---
output:
  pdf_document:
    toc: yes
header-includes:
    - \usepackage{fancyhdr}
    - \usepackage[ngerman]{babel}
---
\addtolength{\headheight}{1.0cm} 
\pagestyle{fancyplain} 
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\chead{Test}
\lhead{\scriptsize\today}


```{r, fig.align='center', fig.pos='htb!', fig.width=12, fig.cap="The height of screenshot is too high!!",fig.height=3,echo=FALSE, cache=FALSE, warning = FALSE, message = FALSE, tidy=TRUE}
library(DT)
library(webshot)
datatable(mtcars[1:2,],rownames=FALSE, options = list(dom='t',ordering=F))
```

enter image description here

  • 此外,我在datatable中尝试了不同数量的显示行,并且我注意到如果datatable有> 20行,那么数字是显示良好并带有标题。
  • 但是,原始 pdf 文件中的表格有 2 行(可以多一点 --> 行数是 react 性的,因为这个 rmarkdown 是属于 shiny 应用程序的可下载报告),这就是为什么在示例中我只使用了 mtcars 数据集中的两行。

最佳答案

您可以尝试将以下内容添加到r chunk并看看是否有效:

screenshot.opts = list(delay = 1, cliprect = c(0, 0, 1000, 150)), dev='jpeg'

enter image description here

关于r - Rmarkdown PDF 中数据表屏幕截图中的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44697428/

相关文章:

r - 使用dplyr和stringr替换所有值始于

r - 如何在shinyapps.io中保存用户交互生成的数据

r - 取消R的胶水包中的新行预防

r - 使用 knitr 打印 data.table 包的 .onAttach 消息

R和 Shiny : Using output of a reactive function

R:如何通过仅比较每个字符串中的前 3 个制表符分隔项来对两个字符串向量使用 setdiff?不使用 qdap

在 Shiny 的应用程序中异步渲染绘图

R Shiny withProgress 放在哪里

可在 R markdown `asis` block 中 react ,不显示循环

r - Rcpp 中二项式似然的快速评估