绘制地图时,scale_gradient不会显示中断

时间:2013-01-17 22:10:35

标签: r ggplot2 ggmap

我想有一个非常简单的问题。如果我绘制这样的散点图:

 data <- data.frame(lon=runif(100)*3+10, lat=runif(100)*5+42, value=rnorm(100)*100)
 ggplot() + geom_point(aes(x=lon, y=lat,  color=value), data=data)

正确显示图例并指定中断。

propper legend

但是当我使用地图作为背景时:

 SHmap <- qmap(c(lon=mean(data[,'lon'], na.rm=TRUE), lat=mean(data$lat, na.rm=TRUE)), zoom=7)
 SHmap <- SHmap + geom_point(aes(x=lon, y=lat,  color=value), data=data)
 SHmap

no breaks specified here

我做错了什么或是出于这种行为?

1 个答案:

答案 0 :(得分:3)

尝试将extent="panel"添加到qmap来电。默认值extent="device"会将theme_nothing放到绘图上,从而删除刻度标签。

SHmap <- qmap(c(lon=mean(data[,'lon'], na.rm=TRUE), lat=mean(data$lat, na.rm=TRUE)), 
              zoom=7, extent="panel")
SHmap <- SHmap + geom_point(aes(x=lon, y=lat,  color=value), data=data)
SHmap

enter image description here

或者只是覆盖控制图例的主题部分,以便它们显示出来。