Rmarkdown循环编织中的ggplot无法正常工作

时间:2018-07-12 14:34:25

标签: r for-loop ggplot2 r-markdown knitr

我有一个.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(),却一无所获。我可能没有正确使用它。

也许我根本没有想到其他解决方案?有什么建议吗?

0 个答案:

没有答案