如何在ggplot2中手动将图例添加到ggmap?

时间:2015-07-13 10:25:09

标签: r ggplot2 ggmap

我正在使用ggmap制作欧洲地图,我在其上绘制了某些颜色的几个点。现在我想添加一个传奇。到目前为止,我的绘图代码看起来像这样:

map <- get_map(location = "Europe", zoom = 3, color = "bw")
p <- ggmap(map)
p <- p + geom_point(data=d, aes(x=lon, y=lat),size=1.25, col="gray40")
p <- p + geom_point(data=d.stations1, aes(x=lon, y=lat),size=1.5,         col=colors[1])
p <- p + geom_point(data=d.stations2, aes(x=lon, y=lat),size=1.5, col=colors[2])
p <- p + geom_point(data=d.stations3, aes(x=lon, y=lat),size=1.5, col=colors[3])
p <- p + geom_point(data=d.reference.station, aes(x=lon, y=lat),size=1.5, col=color.ref)
p <- p + scale_x_continuous(limits = c(-25,62), expand = c(0, 0)) +  scale_y_continuous(limits = c(27,75), expand = c(0, 0)) + xlab("Longitude") +     ylab("Latitude")
ggplot_build(p)`

对象d.stations1d.stations2d.stations3是d行的子集,

d <- data.frame(st = stations.list, lat = latitudes, lon = longitudes)

基本上,我将所有点绘制成灰色,然后在之前选择的颜色上绘制某些子集。

现在,我希望在图表旁边有一个图例(最好不在地图上),并为点解释颜色。

d.stations1中的一些绘制点也属于d.stations2,依此类推,所以我不确定如何实际生成一个有效的图例。我试过了

我尝试过添加

p <- p + scale_color_manual(name = "Distance", labels = c(1:3), values = colors) + theme(legend.position = "bottom")

但这会产生错误(已定义颜色的比例)

0 个答案:

没有答案