如何在 ggplot2 / Rmarkdown 中跨选项卡进行分面?

use*_*745 0 r ggplot2 r-markdown

我知道facet_wrap并且facet_grid愿意分面。对于需要更多空间的更详细的图形,能够轻松地跨Rmarkdown 选项卡进行分面可能会很有用

除了将图形的代码复制到每个选项卡中并在每个选项卡中单独过滤构面变量之外,是否有一种本机(ggplot2/Rmarkdown)方法可以做到这一点?

借用链接问题中的示例,所需的输出将是第一个分面图,其中显示“选项卡内容 1”,第二个分面图位于第二个选项卡中,依此类推(选项卡与分面一样多)

在此输入图像描述

teu*_*and 6

以下是制作这些自动选项卡的方法

---
title: "Untitled"
author: "me"
date: "14 April 2020"
output: html_document
---

```{r}
library(ggplot2)
library(ggforce)
```

## A header {.tabset}

```{r, results='asis'}
n <- 10

# Make main plot
plot <- ggplot(diamonds) +
    geom_point(aes(carat, price), alpha = 0.1) 

# Facet_*_paginate loop over facets
plots <- lapply(seq_len(n), function(i) {
  plot + facet_wrap_paginate(~ cut:clarity, ncol = 1, nrow = 1, page = i)
})

# Print a tab and a plot for each n
# Important to set "results = 'asis'" in chunk options
for (i in seq_len(n)) {
  cat(paste0("\n\n### Tab ", i, "\n"))
  print(plots[[i]])
}
```
Run Code Online (Sandbox Code Playgroud)