原文在这里: http://www.bagualu.net/wordpress/archives/4799
对画地图很感兴趣,这篇文章代码提供了一种思路,即当某一类地名的坐标提供以后,可以直接通过这种方式将这些点绘制到地图上,就可以生成各种类型的地图了。比如5A景区图,历史文化名城地图等有意思的自定义地图。
绘制中国地图并标注各省会城市的地图:
- library(ggplot2)
- library(maptools)
- library(mapproj)
- mydat=readShapePoly("bou2_4p.shp")
- mymap = ggplot(data = fortify(mydat)) +
- geom_polygon(aes(x = long, y = lat, group=group), colour = "blue", fill = c("green") ) +
- theme_grey() + labs(title="中华人民共和国地图",x="",y="")
- city=read.table("FinalCap.txt",head=T)
- mymap=mymap + geom_point(aes(x=long,y=lat),color="red",data=city)
- mymap = mymap + geom_text(aes(x=long,y=lat,label=name), data=city) + coord_map()
- png("china2.png", width=1024,height=768)
- print(mymap)
- dev.off()
文件FinalCap.txt中包含个省会城市的经纬度坐标。bou2_4.shp文件是各省的轮廓数据。利用ggplot绘制地图。
文中提供了这些地图数据的下载。