题
我有一些我们的人口和firmographic数据。
我会喜欢的情节邮政编码的区域,在一个国家或一个较小的地区(例如城市)。每个区将是通过附加说明的颜色和/或文具体到该区域。输出将类似于 http://maps.huge.info/ 但a)附加说明的文本;b)pdf格式的输出;c)编写脚本,在R或蟒蛇。
是否有任何包装和代码,允许我这样做吗?
解决方案
我假设你想要静态地图。
(来源: eduardoleoni.com )
1)获取 zip 边界的形状文件和< census.gov上的href =“http://www.census.gov/geo/www/cob/st2000.html"rel =”nofollow noreferrer“>州边界:
2)使用我在 SO问题
例如(假设您在map子目录中有maryland shapefile):
library(maptools)
##substitute your shapefiles here
state.map <- readShapeSpatial("maps/st24_d00.shp")
zip.map <- readShapeSpatial("maps/zt24_d00.shp")
## this is the variable we will be plotting
zip.map@data$noise <- rnorm(nrow(zip.map@data))
## put the lab point x y locations of the zip codes in the data frame for easy retrieval
labelpos <- data.frame(do.call(rbind, lapply(zip.map@polygons, function(x) x@labpt)))
names(labelpos) <- c("x","y")
zip.map@data <- data.frame(zip.map@data, labelpos)
## plot it
png(file="map.png")
## plot colors
plot.heat(zip.map,state.map,z="noise",breaks=c(-Inf,-2,-1,0,1,2,Inf))
## plot text
with(zip.map@data[sample(1:nrow(zip.map@data), 10),] , text(x,y,NAME))
dev.off()
其他提示
有很多方法可以做到这R(见的 空间图);许多这些 取决于"地图"软件包.
看看这个 很酷的例的美国2004年的选举.它结束了寻找这样的:
这是一个略微的丑陋的例子的一个模型 使用"地图"软件包与"格".
- 安德鲁*格尔曼做了一些非常好的图像这样。参见,例如, 这篇博客上红国/国蓝色 和 这跟踪后.
这是一个非常简单的例子 使用"允许你搜索"包, ,其中显示的地图逮捕状态为逮捕行动,每100,000谋杀:
require(gmaps) data(USArrests) attach(USArrests) grid.newpage() grid.frame(name="map") grid.pack("map",USALevelPlot(states=rownames(USArrests),levels=Murder,col.fun=reds),height=unit(1,'null')) grid.pack("map",gradientLegendGrob(at=quantile(Murder),col.fun=reds),side="bottom",height=unit(.2,'npc')) detach(USArrests)
有人可能会为你提供更直接的东西,但我发现O'Reilly的'R中的数据混搭'非常有趣......部分是,它是家庭止赎拍卖的空间映射。
在Python中,您可以使用美国人口普查中的shapefile和basemap
包。以下是根据人口填写州的示例。
R中有丰富而复杂的软件包系列可用于绘制,分析和与GIS相关的其他功能。一个入门的地方是空间数据上的CRAN任务视图: 这是一个复杂的,有时是神秘的世界,需要做一些工作才能理解。
如果您正在寻找一个免费的,功能强大的地图应用程序,我可以建议:
MapWindow(mapwindow.com)
TechCrunch Trends的Daniel Levine 使用R中的maps
软件包做了很好的事情。他有他的网站上也提供了代码。
根据您的应用程序,很长一段时间可能会使用以下内容:
http:// googlemapsmania .blogspot.com / 2006/07 /新谷歌-MAPS-US-拉链码mashups.html
映射您的数据。如果这不是您想要的,您可以从census.gov获取原始邮政编码shapefile并手动完成,这非常痛苦。
另外,如果您还没有看到它,这是一种与类似数据交互的简洁方法,可能会提供一些指示:
查看IBM出色的在线可视化工具 http://manyeyes.alphaworks.ibm.com/manyeyes/
编辑仅供参考,ManyEyes使用 Prefuse可视化工具包即即使它是基于java的框架,它们也为Web提供了Flash / ActionScript工具。