ggplot2 方面的摘要图作为一个方面

Summary plot of ggplot2 facets as a facet

通常情况下,我们会根据变量生成分面来分解数据,但我们仍然希望将摘要视为分面的堆栈。这是一个例子:

library(ggplot2)
ggplot(data=iris, aes(x=Sepal.Length,y=Petal.Length)) +
    geom_point(aes(color=Species)) +
    facet_wrap(~Species, ncol=2)

但是,我还希望其中一个方面是 3 个方面的叠加:

ggplot(data=iris, aes(x=Sepal.Length,y=Petal.Length)) +
    geom_point(aes(color=Species)) 

有什么简单的方法吗?

非常感谢,

我编写了以下函数来复制数据集并在变量 all 下的数据下创建一个额外的副本。

library(ggplot2)

# Create an additional set of data    
CreateAllFacet <- function(df, col){
  df$facet <- df[[col]]
  temp <- df
  temp$facet <- "all"
  return(rbind(temp, df))
}

该函数不会覆盖原始的分面数据列,而是创建一个名为 facet 的新列。这样做的好处是我们可以用原来的栏目来指定情节点的美观度。

df <- CreateAllFacet(iris, "Species")

ggplot(data=df, aes(x=Sepal.Length,y=Petal.Length)) +
  geom_point(aes(color=Species)) +
  facet_wrap(~facet, ncol=2)

我觉得在这种情况下图例是可选的,因为它在很大程度上重复了图中已有的信息。它可以很容易地用额外的行隐藏 + theme(legend.position = "none")