i是在rmarkDown中生成一个GGPLOT图和桌子。它需要工作 在HTML和PDF输出中。我找到了一种使用Inline CSS为HTML实现此目标的“骇人听闻”的方式,但是当输出为PDF时,它与图块和表不在同一行上不显示。 (部分成功)
我想知道为什么grid.Arrange方法对HTML和PDF都失败,以及如何在PDF输出中以1行将图和表获取?这里是要演示的示例。
---
title: "test"
author: "me"
output:
html_document:
toc: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, message=FALSE)
library(kableExtra)
library(gridExtra)
library(ggplot2)
```
````{r}
n <- 100
adf <- data.frame(X=rnorm(n),Y=rnorm(n,1), Z=rnorm(n,2))
```
# Partial Success
```{r results='asis'}
for( coln in names(adf)){
cat("\n\n## ", coln, "\n\n")
coldat <- adf[[coln]]
tdf <- data.frame(min=min(coldat), max=max(coldat))
p <- ggplot(data=adf,aes(x=.data[[coln]]))
p <- p+geom_histogram()
cat("\n<div class=\"row\">\n")
cat("\n<div class=\"col-md-6\">\n")
print(p)
cat("\n</div>\n")
t1 <- kable(tdf) %>% kable_styling()
cat("\n<div class=\"col-md-6\">\n")
print(t1)
cat("\n</div>\n")
cat("\n</div>\n")
}
```
# Total Failure
```{r results='asis'}
for( coln in names(adf)){
cat("\n\n## ", coln, "\n\n")
coldat <- adf[[coln]]
tdf <- data.frame(min=min(coldat), max=max(coldat))
p <- ggplot(data=adf,aes(x=.data[[coln]]))
p <- p+geom_histogram()
t1 <- kable(tdf) %>% kable_styling()
grid.arrange(p, tableGrob(t1, theme=ttheme_minimal()), ncol=2)
}
```
kable