如何将图例放置在 R 上的标题区域内

How to place legend inside caption area on R

我正在使用 R studio / R Markdown 创建绘图,一些使用 ggplot,一些使用基本 R 函数。我想为我的每个图插入一个标题,其中包含类似于此处显示的示例的图例:

任何人都可以建议如何将我的图的图例(使用 ggplot 和基本 R 函数构建)放在标题中,如本例所示?

我在网上搜索了一下,发现可以这样使用:

p +  labs(caption="Figure S1: This is the Figure Legend") 

然而,我找不到如何将图例嵌入到标题中,我也找不到使用 base R 绘制的图的解决方案。

有一些解决方案需要 Latex,但我不能在这个项目中使用 Latex。

您可以将图例推到底部并添加自定义标题 - 包括一个计数器以获取编号的图:

library(ggplot2)
# using the internal iris dataset
iris
# set counter to zero
NR <- 0

# Add counter and build plot
NR <- NR + 1
legend <- paste0("Fig. ", NR, ": This is a Plot about...:")
ggplot2::ggplot(iris, aes(Sepal.Length, Petal.Width, color = Species)) +
  ggplot2::geom_point() +
  ggplot2::labs(color= legend) +
  ggplot2::theme(legend.position = "bottom")


# Add counter and build second plot
NR <- NR + 1
legend <- paste0("Fig. ", NR , ": This is a Plot about...:")
ggplot2::ggplot(iris, aes(Sepal.Width, Petal.Length, color = Species)) +
  ggplot2::geom_point() +
  ggplot2::labs(color= legend) +
  ggplot2::theme(legend.position = "bottom")