5

我正在使用 ggmap 和 ggplot 包在圣保罗地图中绘制两个不同数据框的经度和纬度坐标,并希望手动标记每个图例图层:

更新:我在下面编辑了我的代码,使其完全可重现(我使用的是地理编码函数而不是 get_map)。

更新:我想在不合并数据框的情况下执行此操作。

require(ggmap)

sp <- get_map('sao paulo', zoom=11, color='bw')
restaurants <- data.frame(lon=c(-46.73147, -46.65389, -46.67610), 
                          lat=c(-23.57462, -23.56360, -23.53748))
suppliers <- data.frame(lon=c(-46.70819,-46.68155, -46.74376), 
                        lat=c(-23.53382, -23.53942, -23.56630))
ggmap(sp)+geom_point(data=restaurants, aes(x=lon, y=lat),color='blue',size=4)+geom_point(data=suppliers, aes(x=lon, y=lat), color='red', size=4)

在此处输入图像描述

我已经查看了几个问题并尝试了不同的方法但没有成功。有谁知道如何插入图例并将蓝点标记为餐厅,将红点标记为供应商?

4

1 回答 1

8

现在您的代码是可重现的(谢谢!):

dat <- rbind(restaurants,suppliers)
dat$grp <- rep(c('Restaurants','Suppliers'),each = 3)

ggmap(sp) + 
    geom_point(data=dat, aes(x=lon, y=lat,colour = grp),size = 4) + 
    scale_colour_manual(values = c('red','blue'))

在此处输入图像描述

于 2012-06-22T16:50:57.720 回答