在R中使用ggplot的索引

在R中使用ggplot的索引,r,ggplot2,legend,R,Ggplot2,Legend,我用下面的代码生成了一些绘图。我用下面的代码生成了8个绘图,我想让它们在同一页上,并没有标题。更具体地说,我希望在每个图的左上角有一个字母(a,b…),在图的末尾有一个类似于一行的图例(例如图:a.类别1,b.类别2…) 代码: 是否可以使用ggplot?如果是,我该怎么做 p、 s我对上面的代码没有问题 多谢各位 这就是使用库(cowplot)的方法 首先是一些情节: set.seed(1) plots <- list() for (i in 1:8) { my_cars &l

我用下面的代码生成了一些绘图。我用下面的代码生成了8个绘图,我想让它们在同一页上,并没有标题。更具体地说,我希望在每个图的左上角有一个字母(a,b…),在图的末尾有一个类似于一行的图例(例如图:a.类别1,b.类别2…)

代码:

是否可以使用
ggplot
?如果是,我该怎么做

p、 s我对上面的代码没有问题


多谢各位

这就是使用
库(cowplot)
的方法

首先是一些情节:

set.seed(1)
plots <- list()

for (i in 1:8) {
    my_cars <- mtcars[sample(1:nrow(mtcars), 10), ]

    plots[[i]] <- ggplot(my_cars, aes(mpg, hp, color = as.factor(cyl))) +
        geom_point() +
        geom_smooth(method = "lm", color = "black")
}


cowplot的文档非常棒,有大量的示例。检查一下,然后。如果遇到问题,请告诉我。

您想查看ggplot2排列包,如
库(cowplot)
根据这些包的相似程度,您可以尝试使用
方面
。我对
cowplot
不太熟悉,但是
grid.arrange()
是一个非常可靠的方法。谢谢你们的评论@内特,我来查一下。Mike问题不在于图的位置,而在于图中索引的使用,以及在页面底部创建一个通用的一行图例。谢谢您的回答。牛仔区看起来真不错!谢谢你的例子。
set.seed(1)
plots <- list()

for (i in 1:8) {
    my_cars <- mtcars[sample(1:nrow(mtcars), 10), ]

    plots[[i]] <- ggplot(my_cars, aes(mpg, hp, color = as.factor(cyl))) +
        geom_point() +
        geom_smooth(method = "lm", color = "black")
}
lbls <- LETTERS[1:length(plots)]
# add a line break because its long
lbls <- gsub("E", "\nE", lbls)

grid <- plot_grid(plotlist = plots, labels = lbls, ncol = 2)

legend <- ggdraw() +
    draw_label(paste0(lbls, "= category",1:length(plots), collapse = "  "))

plot_grid(grid, legend, rel_heights = c(1, .1), ncol = 1)