R ggplot-将所有数据点添加到所有面

R ggplot-将所有数据点添加到所有面,r,ggplot2,facet,facet-wrap,R,Ggplot2,Facet,Facet Wrap,到目前为止,我还没有找到合适的答案,以下是我关于R中ggplot2的简短问题: data(mtcars) ggplot(data=mtcars, aes(x=mpg, y=wt, fill=factor(cyl))) + scale_fill_manual(values=c("red","orange","blue"))+ geom_point(size=2, pch=21)+ facet_grid(.~cyl) 这一切都很好,现在我希望在每个方面都有所有数据点(无论cyl有多少个数据点)(

到目前为止,我还没有找到合适的答案,以下是我关于R中ggplot2的简短问题:

data(mtcars)
ggplot(data=mtcars, aes(x=mpg, y=wt, fill=factor(cyl))) +
scale_fill_manual(values=c("red","orange","blue"))+
geom_point(size=2, pch=21)+
facet_grid(.~cyl)

这一切都很好,现在我希望在每个方面都有所有数据点(无论cyl有多少个数据点)(例如,点下面有一个平滑的灰色)


谢谢,Michael

通过@beetroot提供的链接,我可以做如下事情:

g1 <- ggplot(data=mtcars, aes(x=mpg, y=wt)) + 
  geom_point(data=mtcars[, c("mpg", "wt")], aes(x=mpg, y=wt), colour="grey") +
  geom_point(size=2, pch=21, aes(fill=factor(cyl))) + 
  scale_fill_manual(values=c("red","orange","blue")) + 
  facet_wrap(~cyl) 
g1
这里有一个小小的简化,让生活更轻松。您只需从提供给后台
geom_point()
层的数据中删除镶嵌面变量。

库(tidyverse)
ggplot(数据=mtcars,aes(x=mpg,y=wt))+
几何点(数据=选择(mtcars,-气缸),颜色=“灰色”)+
几何点(尺寸=2,pch=21,aes(填充系数(气缸)))+
刻度填充手动(数值=c(“红色”、“橙色”、“蓝色”))+
面_包裹(~cyl)

感谢信的可能副本。我将详细说明拟议的联系。同样感谢您的建议,但我在这里得到:“错误:美学必须是长度1或与数据(60):x,y,fill)相同”,当我以这种方式将其应用于我的特定数据时(但数据结构是相同的)。@mod_che:我编写的代码,这是否也给了您错误?对我来说,它很好用。