我有一个.Rmd文件,该文件创建随机数的绘图并将其存储在list()中。然后,我运行一个基于列表中的数量动态创建RMarkdown的块。无论我尝试什么,编织时都无法在单独的选项卡上获得每个图。我尝试过的大多数方法都会在最后一个选项卡上按顺序绘制所有ggplots。
以下是可复制的代码,与我的问题类似:
---
title: ""
author: "Mark Gingrass"
date: "`r Sys.Date()`"
output:
html_document:
df_print: paged
toc: yes
toc_depth: '3'
html_notebook:
code_folding: hide
theme: united
toc: yes
toc_depth: 3
toc_float: yes
keep_md: TRUE
---
```{r}
library(ggplot2)
my_data <- mtcars
p_list <- list()
p1 <- qplot(mpg, disp, data = my_data)
p2 <- qplot(mpg, disp, data = my_data)
p_list[[1]] <- p1
p_list[[2]] <- p2
```
### My Heading {.tabset}
```{r, results='asis', echo = FALSE}
for (i in 1:length(p_list)){
cat("####", i, " \n")
print(p_list[[i]])
cat(' \n\n')
}
```
print语句后的plot.new()使这几乎可行;但是,它将在我的每张图之后打印一个空白图。一种解决方法是使用plot.new()然后删除该图?一切在R Notebook上都可以正常工作,是在针织时出现问题的时候。
我也玩过dev.off(),却一无所获。我可能没有正确使用它。
也许我根本没有想到其他解决方案?有什么建议吗?