【发布时间】:2017-03-04 04:31:15
【问题描述】:
我正在 RMarkdown 文档的循环中创建一系列绘图,然后将其编织成 PDF。我可以毫无问题地做到这一点,但我希望标题能够反映每个情节之间的变化。一个 MWE 如下所示:
---
title: "Caption loop"
output: pdf_document
---
```{r, echo=FALSE}
library(tidyverse)
p <-
map(names(mtcars), ~ggplot(mtcars) +
geom_point(aes_string(x = 'mpg', y = .))) %>%
set_names(names(mtcars))
```
```{r loops, fig.cap=paste(for(i in seq_along(p)) print(names(p)[[i]])), echo=FALSE}
for(i in seq_along(p)) p[[i]] %>% print
```
我第一次尝试捕获绘图并将其存储在变量p 中,并尝试使用它来生成字幕,但这不起作用。尽管这肯定是许多人需要做的事情,但我在 SO 上没有找到太多关于此的内容。我确实找到了this question,但它看起来很复杂,以至于我想知道是否有一个清晰而简单的解决方案我缺少。
我想知道它是否与eval.after 和this question 有关,但这不涉及在循环中生成的绘图。
非常感谢您的帮助!
【问题讨论】:
-
我可能没有正确理解这个问题,但问题可能只是情节没有标题。如果我们只想要标题中当前绘制的变量,我们可以在
~ggplot语句中添加+ ggtitle(.) -
为图添加标题使其可文本搜索。
标签: r ggplot2 knitr r-markdown tidyverse