如何用两层更改ggplot图例标签和名称?

时间:2012-06-22 15:14:37

标签: r ggplot2 ggmap

我正在使用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)

enter image description here

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

1 个答案:

答案 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'))

enter image description here