将图例添加到ggmap

时间:2016-03-08 12:30:34

标签: r legend ggmap

我正在尝试向ggmap scale_colour_continuous添加图例。它看起来非常好。但第一个问题是, ee<-runif(100,min=-6, max=26) nn<-runif(100, min=30, max=75) r<-colorRampPalette(colors=c("white", "red2", "black")) aa<-round(runif(100, min=1, max=35),0) barv<-r(10)[as.numeric(cut(aa, breaks=10))] z<-data.frame(ee, nn,barv) my_map<-get_map(location='Europe', zoom = 3, maptype='satellite') p2<-ggmap(my_map)+ theme(text=element_text(size=15)) p2<-p2+geom_point(data=z, aes(x=ee, y=nn), colour=barv, alpha = 0.5, size=2.5) p2 #p2 + scale_color_continuous(low="white", high="black", #space = "Lab", guide = "colorbar") 仅适用于两种颜色,但我需要使用三种颜色。其次,当我试图只使用两种颜色(看起来非常糟糕)时,我失败了。我的代码如下:

limit

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您可以使用scale_color_gradient2。您可以定义lowmidhigh颜色值,并确定midpoint在规模上的位置:

# adding 'aa' as a column to your dataframe
z <- data.frame(ee, nn, barv, aa)

# create the plot
ggmap(my_map)+
  geom_point(data=z, aes(x=ee, y=nn, colour=aa), alpha = 0.5, size=2.5) +
  scale_color_gradient2(low="green", mid="red",high="blue", midpoint=18,
                        breaks=c(10,20,30), labels=c("ten","twenty","thirty")) +
  theme(text=element_text(size=15))

给出:

enter image description here