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

更新:我在下面编辑了代码以使其完全可复制(我使用的是地理编码功能而不是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)

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

最佳答案

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

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

关于r - 如何使用两层更改ggplot图例标签和名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11159072/

10-12 17:35