使用R在谷歌地图上绘制点

时间:2014-11-26 23:49:48

标签: r google-maps

我试图在R中的谷歌地图上绘制一些经度和纬度点但是我收到错误消息:

不知道如何自动为data.frame类型的对象选择比例。违约持续 错误:美学必须是长度为1或与dataProblems相同的长度:sg

这是我的R代码:

sg <- read.csv("sg.csv")
head(sg)

library(ggmap)
library(mapproj)
map <- get_map(location = 'Midway Point, Tasmania', zoom = 12)
ggmap(map)

mapPoints <- ggmap(map) +
geom_point(aes(x = lon, y = lat, data = sg, alpha = .5))
mapPoints

数据如下所示:

> head(sg)
   ref       lat      lon
1 Male -42.80429 147.4954
2 Male -42.80367 147.4951
3 Male -42.80521 147.4919
4 Male -42.80525 147.4925
5 Male -42.80501 147.4955
6 Male -42.80414 147.4959

任何人都可以帮我吗?非常感谢你。

1 个答案:

答案 0 :(得分:3)

阅读错误消息是值得的。我是一个非常缺乏经验的ggplot用户,并且同样适用于ggmap。错误消息显示为:Error: Aesthetics must either be length one, or the same length as the dataProblems:sg。所以我查看了?ggmap中的示例,并决定1)数据参数不应该在aes()调用中,2)你需要aes中的第三个参数,所以我选择颜色和它“工作”。

 mapPoints <- ggmap(map) + 
    geom_point(aes(x = lon, y = lat, color=ref), data = sg, alpha = .5)
 mapPoints

enter image description here