我正在使用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)
我已经看过几个问题并尝试了不同的方法而没有成功。有谁知道如何插入图例并将蓝点标记为餐馆,将红点标记为供应商?
答案 0 :(得分: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'))