码迷,mamicode.com
首页 > 其他好文 > 详细

每R一点:各种画地图,全是知识点,90%人不知道!(转)

时间:2015-01-22 10:53:42      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

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自带帮助文档查看。

转自:http://mp.weixin.qq.com/s?__biz=MzA3NDUxMjYzMA==&mid=209747952&idx=2&sn=72725a5801c0b1c14a7da6cc7e68719c#rd

每R一点:各种画地图,全是知识点,90%人不知道!(转)

标签:

原文地址:http://www.cnblogs.com/payton/p/4240789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!