R:彩色 gps 点显示颜色更深的次数

R: color gps points that show up more times darker in color

我想像热图一样绘制 GPS 点 - 出现次数多的点将显示 darker/warmer 颜色。 我的数据如下所示:

       lon   lat Freq
1  -121.93 68.28    1
2  -117.72 70.72    1
3  -110.69 68.75    1
4   -94.79 61.03    1
5   -93.80 58.63    1
6   -92.18 62.88    1
7   -89.68 46.15    3
8   -83.00 62.50    1
9   -78.99 56.41    1
10  -78.87 56.39    1
11  -71.30 65.95    1
12  -67.36 62.84    1
13  -67.35 62.86    1
14  -67.25 63.45    2

我可以按如下方式绘制这些数据:

newmap<-getMap(resolution="low")
plot(newmap)
points(data3$V5, data3$V4, col = "red", pch = 15, cex = 0.5)

但是,我希望频率为 2 或 3(参见频率列)的点 darker/warmer 像热图一样,并附有图例。看起来可能有使用 ggmap 的解决方案,但我无法使用 ggmap 获取世界地图。 (我需要一张世界地图,因为我将绘制比本示例中更多的全球定位点)。我喜欢这个世界轮廓的样子。

一个选项是使用 rgb 设置不透明度,而不是仅仅输入颜色。例如

points(data3$V5, data3$V4, col = rgb(1, 0, 0, 0.5), pch = 15, cex = 0.5)

使用 ggplot2:

library(ggmap)
library(ggplot2)
world <- map_data("world")
ggplot() + geom_path(data=world, aes(x=long, y=lat, group=group)) +
geom_point(data=data3, aes(x=lon, y=lat, colour=Freq, size=sqrt(Freq/pi))) +  scale_colour_gradientn(colours = rev(heat.colors(12))) +
  scale_size(guide = FALSE)