R语言绘制地图,在数据分析中经常能够用到,并且会达到非常好的展示效果,本节以例子形式,介绍如何使用R语言工具,画出理想的地图。
本节例子在 R version 2.15.3版本下运行顺畅,其他版本待定。
代码如下:第一个小例子
#加载相应的包,并读入数据,最后画图。 library(maptools); library(ggplot2); china_map<-readShapePoly("d://map//bou2_4p.shp", proj4string=CRS("+proj=longlat +ellps=clrk66")); plot(china_map);
下面使用ggplot来画。
ggplot(china_map, aes(x = long, y = lat, group = group)) + geom_polygon(fill = "beige") + geom_path(colour = "grey40");
画一个更好看的地图 ,如何!
x<-china_map@data; # S4类数据 用@ 取子集 xs<-data.frame(x,id=seq(0:924)-1); # library(ggplot2) china_map1<-fortify(china_map); # 转化为数据框 # 没有行政区域的信息啊,这就需要前面的那个数据框xs了。 library(plyr); china_mapdata<-join(china_map1, xs, type = "full"); # 合并两个数据框 # 下面用这个新的数据框来画中国地图 ggplot(china_mapdata, aes(x = long, y = lat, group = group,fill=NAME))+geom_polygon( )+geom_path(colour = "grey40")+ scale_fill_manual(values=colours(),guide=FALSE);
再画一个城市区域型的 地图
zhejiang<-subset(china_mapdata,NAME=="浙江省"); ggplot(zhejiang, aes(x = long, y = lat, group = group,fill=NAME))+ geom_polygon(fill="beige" )+ geom_path(colour = "grey40")+ ggtitle("中华人民共和国浙江省")+ geom_point(x=120.12,y=30.16,fill=FALSE)+ annotate("text",x=118.3,y=30,label="杭州市");
关注点:
⊙ 上面只是介绍几种画图的办法。除此之外,还有更多地图函数,各位朋友可以好好找找看。对于地图中具体的参数和相应指标,可以用R自带帮助文档查看。