我正在尝试使用 R 中的 ggplot2 用二维密度轮廓绘制一些数据。
我得到一个有点奇怪的结果。
首先,我设置了 ggplot 对象:
p <- ggplot(data, aes(x=Distance,y=Rate, colour = Company))
然后我用 geom_points 和 geom_密度2d 绘制它。我希望 geom_密度2d 根据组织的规模(OrgSize 变量)进行加权。然而,当我添加 OrgSize 作为权重变量时,图中没有任何变化:
This:
p+geom_point()+geom_density2d()
给出与此相同的图:
p+geom_point()+geom_density2d(aes(weight = OrgSize))
但是,如果我使用 geom_smooth 对黄土线执行相同的操作,则权重确实会产生明显的差异。
This:
p+geom_point()+geom_smooth()
给出了一个不同的情节:
p+geom_point()+geom_smooth(aes(weight=OrgSize))
我想知道我是否不恰当地使用了 Density2d,我是否应该使用轮廓并提供 OrgSize 作为“高度”?如果是这样那么为什么 geom_密度2d 接受加权因子?
代码如下:
require(ggplot2)
Company <- c("One","One","One","One","One","Two","Two","Two","Two","Two")
Store <- c(1,2,3,4,5,6,7,8,9,10)
Distance <- c(1.5,1.6,1.8,5.8,4.2,4.3,6.5,4.9,7.4,7.2)
Rate <- c(0.1,0.3,0.2,0.4,0.4,0.5,0.6,0.7,0.8,0.9)
OrgSize <- c(500,1000,200,300,1500,800,50,1000,75,800)
data <- data.frame(Company,Store,Distance,Rate,OrgSize)
p <- ggplot(data, aes(x=Distance,y=Rate))
# Difference is apparent between these two
p+geom_point()+geom_smooth()
p+geom_point()+geom_smooth(aes(weight = OrgSize))
# Difference is not apparent between these two
p+geom_point()+geom_density2d()
p+geom_point()+geom_density2d(aes(weight = OrgSize))