我试图在ggplot2中制作一个散点图,其大小映射到第三个变量和density2d轮廓.似乎传说因包含density2d轮廓而感到困惑.
例如,以下代码有效:
library('ggplot2')
set.seed(1)
x=rnorm(100); y=rnorm(100,sd=10); z=seq(1,10,length.out=100)
dd=data.frame(x=x,y=y,z=z)
ggplot(dd,aes(x,y,size=z))+geom_point()

但现在,请注意,当我添加一个调用时,图例表现异常stat_density2d().特别是,图例显示蓝色块而不是黑色圆圈:
ggplot(dd,aes(x,y,size=z))+geom_point()+stat_density2d()

由于size=是你可以设定美学的一个stat_density2d(),在这种情况下,它被设置ggplot()呼叫,传说中寻找制作-线条和点(点下的传说线墙根如geom_point()之前被调用stat_density2d()).要从图例中删除蓝线,您可以手动设置size=0.5(或其他一些值)stat_density2d(),然后图例将是正确的.
ggplot(dd,aes(x,y,size=z))+geom_point()+stat_density2d(size=0.5)
