使用ggplot(热图)在ggmaps上使用连续数据分层shapefile

时间:2013-12-09 08:50:33

标签: r ggplot2

这是我第一次来到这里,我真的很难过这个。

所以我有一个海湾地区房价的文件(这里称为SAMPLE3.csv)和Bay Area邮政编码的shapefile。我能够匹配这两个并使用fortify来融化邮政编码,以及能够在地图上绘制数据,但无法正确调整颜色方案以制作热图(例如,使用heat.colors) 。这是我的代码:

houseprices <-  read.csv("~/DigitalFlyer/GIS/bayarea/SAMPLE3.csv", header=T)
bayarea <- USA[USA$city == 'bayarea',]
sf = fortify(bayarea, region="ZCTA5CE10")
sf$score <- engagement[match(sf$id, houseprices$zip, nomatch=NA), 2]

我可以使用

获得一个不错的谷歌地图作为基础层
qmap('oakland, ca', zoom=10,maptype='hybrid')+
geom_polygon(aes(x=long, y=lat, group=group), data=sf, colour="white", fill=sf$score, alpha=.5, size=.3)

我可以使用

使用qmap获得漂亮的热图
qplot(long, lat, data=sd, group=group , fill= score, geom="polygon"), 

但是然后无法在谷歌地图上进行分层。

以下是我对每个人的看法: 1)http://i.stack.imgur.com/vJOHe.jpg 2)http://i.stack.imgur.com/bCeG4.jpg

提前感谢您的帮助!!!

1 个答案:

答案 0 :(得分:0)

我无法对此进行测试,因为我没有您的数据框sf,但您的第一个代码的问题是fill=应位于aes() geom_polygon()内1}}以确保填充值符合数据框的score值。

qmap('oakland, ca', zoom=10,maptype='hybrid') + 
     geom_polygon(aes(x=long, y=lat, group=group, fill=score), 
                     data=sf, colour="white",alpha=.5, size=.3)