向 ggmap 添加图例
Add a legend to the ggmap
我正在尝试为 ggmap
添加图例,例如 here。看起来很好。但第一个问题是,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")
有人可以帮忙吗?
您可以使用 scale_color_gradient2
。您可以定义 low
、mid
和 high
颜色值,还可以确定 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))
给出:
我正在尝试为 ggmap
添加图例,例如 here。看起来很好。但第一个问题是,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")
有人可以帮忙吗?
您可以使用 scale_color_gradient2
。您可以定义 low
、mid
和 high
颜色值,还可以确定 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))
给出: