将图例添加到 ggmap

Add legend to ggmap

我正在尝试将图例添加到由 R 中的 ggmap 包生成的图中。我正在使用的数据集是

    Latitude  Longitude  amount
    61.37072 -152.40442  436774
    32.80667  -86.79113 3921030
    34.96970  -92.37312 1115087
    33.72976 -111.43122 5068957

我使用的代码是

library(ggplot2)
library(ggmap)

MyMap <- get_map(location = c(lon = -96.5, lat = 40.68925), zoom = 4,maptype = "terrain", scale = 2)
ggmap(MyMap)+ 
geom_point(data = data,aes(x = Longitude , y = Latitude ),size=sqrt(data$amount)/800,col='darkred', shape = 19,alpha = .5) 

现在我想为这个情节添加图例。图例应显示地图上圆圈的大小对应于一定数量。我该怎么做?

size 参数应包含在 geom_point 函数的 aes() 部分中,如下所示:

plot <- ggmap(MyMap) + 
  geom_point(data = data,aes(x = Longitude , y = Latitude, size=amount), col='darkred', shape = 19,alpha = .5)
plot 

如果您想进一步自定义比例,可以使用可选参数 scale_size_area() 为图例选择 breaks and labels。例如:

plot +  scale_size_area(breaks = c(436774, 1115087, 4000000, 5068957),
          labels = c("436774", "1115087", "4000000", "5068957"))

更改点大小:

如果你想调整点的大小,你最好使用 scale_size 函数,它可以让你指定一个范围:

plot +  scale_size(range = c(5,9))