5

我正在尝试在 ggplot2 中制作散点图,其大小映射到第三个变量和密度 2d 轮廓。似乎传说被密度2d轮廓所混淆。

例如,以下代码有效:

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()

情节图例显示蓝色块而不是黑色圆圈

4

1 回答 1

6

作为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)

在此处输入图像描述

于 2013-04-17T17:20:24.403 回答