我已经准备了一个包含以下代码的.rmd文件,我正在try 使用一个.rmd文件生成一个.ppt文件,其中我将根据我拥有的列表的长度来制作多张幻灯片,其中包含内部的绘图.

我已经try 了相关问题的大多数解决方案,但没有一个能够解决我的问题.我使用invisible函数try 了walk,for个循环,但没有一个达到预期效果.

---
title: "test1"
output: powerpoint_presentation
date: "2023-04-12"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(purrr)
library(ggplot2)
library(dplyr)

dt <- iris %>%
  group_by(Species) %>%
  tidyr::nest() %>%
  mutate(plots = pmap(list(data, Species, Species),
                      ~ ..1 %>% ggplot() + geom_point(aes(Sepal.Width, Sepal.Length)) + ggtitle(paste0(..2, "-", ..3))
                      )
         )
```

## Slide with R Output

```{r echo = FALSE}
walk(dt$plots, print)
```

```{r echo = FALSE, results = 'asis'}
walk(dt$plots, print)
```

```{r echo = FALSE, results = 'asis'}
print(dt$plots)
```

最后3个块产生所需的格式(不带文本的图像),但它们只返回单个幻灯片中的第一个绘图.

下面的块生成所有3张幻灯片,但在幻灯片上显示索引文本(其 idea 是使幻灯片上的图表全尺寸,而不显示文本)

```{r echo = FALSE}
invisible( print(dt$plots))
```

推荐答案

一种 Select 是在使用cat在绘图上循环时创建新幻灯片,并设置块选项results='asis'.另请注意,需要通过\n\n添加两个换行符:

---
title: "test1"
output: 
  powerpoint_presentation:
    keep_md: true
date: "2023-04-12"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(purrr)
library(ggplot2)
library(dplyr)

dt <- iris %>%
  group_by(Species) %>%
  tidyr::nest() %>%
  mutate(plots = pmap(list(data, Species, Species),
                      ~ ..1 %>% ggplot() + geom_point(aes(Sepal.Width, Sepal.Length)) + ggtitle(paste0(..2, "-", ..3))
                      )
         )
```

```{r echo = FALSE, results='asis'}
iwalk(dt$plots, function(x, y) {
  cat("## Slide with R output\n\n")
  cat("Plot ", y, "\n\n")
  print(x)
  cat("\n\n")
})
```

enter image description here

EDIT如果您只想要一张带有图表的幻灯片,而不想要文本或标题,那么您可以这样做:

注意:您还可以在Chunk选项中设置fig.width来更改绘图的大小,例如使用fig.width=9将宽度设置为9英寸(根据我的判断,这是放置图表的占位符的宽度).

```{r echo = FALSE, results='asis'}
iwalk(dt$plots, function(x, y) {
  cat("---\n\n")
  print(x)
  cat("\n\n")
})
```

R相关问答推荐

如何以编程方式将X轴勾号上的希腊符号合并到R图中?

棒棒糖图表大小和线宽参数故障标签未出现

如何在R中正确对齐放射状图中的文本

寻找图片边缘

如何在ggplot 2线性图的每个方面显示每个组的误差条?

R中具有gggplot 2的Likert图,具有不同的排名水平和显示百分比

x[[1]]中的错误:脚注越界

用黄土法确定区间

如何从R中的字符串元素中减go 一个数字?

我不能在docker中加载sf

删除列表中存储的数据帧内和数据帧之间的重复行

提取一个列表中单个列的重复观察结果R

基于R中的间隔扩展数据集行

基于数据集属性将科分配给物种

以任意顺序提取具有多个可能匹配项的组匹配项

如何在R中创建这些列?

R:使用ApexCharge更改标签在饼图中的位置

使用dqur在不同变量上创建具有多个条件的变量

R dplyr::带有名称注入(LHS of:=)的函数,稍后在:=的RHS上引用

图中显示错误 colored颜色 的图例geom_sf