在Google Map上标注点报错:运算符对栅格对象无意义
解决ggmap叠加散点图的报错问题
嘿,这个报错我之前也碰到过,原因其实很简单:你用get_map()拿到的p是栅格图像对象,不是ggplot的图层对象,所以直接用p + geom_point()这种ggplot的图层叠加方式肯定会报错——R不知道怎么把栅格和ggplot运算符结合起来。
修正后的正确代码
你只需要把ggmap(p)作为基础ggplot图层,再往后叠加geom_point就可以了:
p <- get_map(location = 'Illinois',zoom = 8) ggmap(p) + geom_point(data=lat_long, aes(x = long, y = lat), color = 'red', size = 3)
额外注意事项
另外可以检查一下你的lat_long数据框:
- 确保
long(经度)和lat(纬度)是数值型变量,如果是字符型的话,散点也画不出来,可以用str(lat_long)查看数据类型,必要时用as.numeric()转换。 - 确认数据里的经纬度范围和你获取的伊利诺伊州地图范围匹配,不然散点可能会跑到地图外面看不到。
内容的提问来源于stack exchange,提问作者kefeng
相关产品推荐
相关产品推荐

