所以我正在将犯罪水平绘制到伦敦,但是尺寸和颜色与我使用的数字不成比例。我将保留下面的代码和图形,如果有人能给我解释为什么会发生这种情况,我会非常感激。感谢
London <- c(lon=-0.1278, lat=51.5074)
London_map <- get_googlemap(center = London, zoom = 10)
plot(London_map)
LondonRob <- read.csv("Rob London.csv")
Areas <- as.character(LondonRob$ï..Borough)
locs_geo <- geocode(Areas)
df <- cbind(LondonRob, locs_geo)
Map <- ggmap(London_map) +
geom_point(data = df,
aes(x = lon, y = lat,
size = LondonRob$X2012.13,
color = LondonRob$X2012.13))
Map1 <- Map + labs(color="Robbery")
Map1 <- Map1 + labs(size="Figures")
Map1
答案 0 :(得分:0)
scale_size_continuous
,这是将连续变量映射到大小时的默认值,使用range
参数来确定比例。默认情况下,这是c(1, 6)
,ggplot
会将X2012.13
变量中的变体转换为从1到6的范围。
在许多情况下,使用积分,您不需要此默认值。相反,你希望能够直接比较尺寸,0根本没有点。然后,您可以改为使用scale_size_area
。
这有一个额外的好处,即缩放区域而不是半径,这在视觉上表现得更好。
此外,你很可能不应该这样做
aes(x = lon, y = lat, size = LondonRob$X2012.13, color = LondonRob$X2012.13)
而是
aes(x = lon, y = lat, size = X2012.13, color = X2012.13)
作为一般规则,永远不要在$
内使用aes
,事情可能会出现严重错误,没有任何错误或警告。