R 如何添加覆盖整个数据分组的绘图?
我有一个数据框,其中有一个变量R 如何添加覆盖整个数据分组的绘图?,r,ggplot2,facet,R,Ggplot2,Facet,我有一个数据框,其中有一个变量delta2,我将其切割为高于和低于0.8,并为两组绘制var1 v/s var2。但是我还想为delta2=-Inf,Inf添加案例,基本上包括整个数据集,并比较相同的var1 v/s var2。我怎样才能继续 sm$dclass <- cut(sm$d, breaks=c(-Inf, 0.8, Inf), labels=c("delta2 < 0.8 ","delta2 >= 0.8")) ggplot(sm, aes(var1, var2)
delta2
,我将其切割为高于和低于0.8
,并为两组绘制var1 v/s var2
。但是我还想为delta2=-Inf,Inf
添加案例,基本上包括整个数据集,并比较相同的var1 v/s var2
。我怎样才能继续
sm$dclass <- cut(sm$d, breaks=c(-Inf, 0.8, Inf), labels=c("delta2 < 0.8 ","delta2 >= 0.8"))
ggplot(sm, aes(var1, var2)) +
facet_wrap(~ dclass) +
geom_point(aes(colour=factor(dclass))) +
stat_density_2d()+
scale_colour_discrete()
sm$dclass一种技术是使用重新定义的数据添加到现有绘图中。例如:
library(ggplot2)
ggplot(mtcars, aes(disp, mpg, col=factor(cyl))) +
geom_point() +
stat_density_2d() +
geom_point(data=transform(mtcars, cyl="all")) +
stat_density_2d(data=transform(mtcars, cyl="all")) +
facet_wrap(~ cyl)
由于在其他系统上找不到sm
,您是否可以共享一些数据(使用dput(头(x))
),生成一些随机数据(可能更大!),或者将您的问题调整到R中的标准数据集?如果没有这一点,您得到的任何数据都将无法进行测试。您还可以尝试使用删除刻面变量的数据版本,将完整数据用作“背景”:geom_point(data=subset(mtcars,select=-cyl)、aes(disp,mpg)、color=“gray70”)+
非常感谢!这很有效。最后一个问题:如何添加stat\u density2d()
部分?我添加了美学。但这仍然导致statdensity图没有被添加到所有子图中……实际上,只需添加另一个stat\u density\u 2d
和它自己的data=
参数即可。这就是重点,只要提供一个有自己数据的stat/geom的重复。(为了提高效率,我将aes(…)
移到了顶行……不是必需的,只是一个选项。)