我正在使用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.stations1
,d.stations2
和d.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")
但这会产生错误(已定义颜色的比例)