每R一点:各种画地图,全是知识点,90%人不知道!(转)
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自带帮助文档查看。
每R一点:各种画地图,全是知识点,90%人不知道!(转)的更多相关文章
- 使用R画地图数据
用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...
- R语言和中国地图
上图是R语言绘制的按地域分布的数据图.更科学,更严谨,也更有质感的样子. 今天瞎写点东西,我在想数据分析的意义是什么,也许就是研究事物存在的形式.而事物存在的形式是什么样子呢,从最初的三维空间,爱因斯 ...
- d3 画地图终极自适应大小方案
d3,v4以前用d3画地图的时候,为了让地图差不多正好画在容器的上下左右正中间,不得不慢慢的这样调: const projection = d3.geoMercator() .center([108. ...
- 如何利用R包qqman画曼哈顿图?
如何利用R包qqman画曼哈顿图? 2017-07-10 lili 生信人 众多周知,R语言提供了各种各样的包,方便实现我们的目的,下面给大家介绍一个可以便捷的画曼哈顿图的包:qqman instal ...
- PCB 合拼遍历(全排序+旋转90度) 基本遍历方法
分享一下PCB合拼的组合的遍历方法,在分享之前先纠正一下 PCB拼板之多款矩形排样算法实现--学习 时间复杂度计算错误 一.PCB 合拼(全排序+旋转90度)的时间复杂度是多少? 二.合拼遍历(全 ...
- R与数据分析旧笔记(四)画地图练习
> library(maps) > library(geosphere) 载入需要的程辑包:sp > map("state")#画美国地图 > map(&q ...
- R 画地图
R 绘制中国省市分布地图 library(maps) library(mapdata) library(maptools); getColor=function(mapdata,provname,pr ...
- svg 画地图
下载一个svgDeveloper软件,破解版下载 1.首先找一张地图作为绘制模板;(当然你也可以自己画,不准确怪我咯!) 2.新建svg文件:File --> New --& ...
- 每R一点:层次聚类分析实例实战-dist、hclust、heatmap等(转)
聚类分析:对样品或指标进行分类的一种分析方法,依据样本和指标已知特性进行分类.本节主要介绍层次聚类分析,一共包括3个部分,每个部分包括一个具体实战例子. 1.常规聚类过程: 一.首先用dist()函数 ...
随机推荐
- 表格组件神器:bootstrap table详细使用指南
1.bootstrap-table简介 1.1.bootstrap table简介及特征: Bootstrap table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单 ...
- jQuery的发展史
jQuery的发展史,你知道吗? 每天多学一点知识,就少写一行代码2006年1月,jQuery的第一个版本面世,至今已经有6年多了(注:这个时间点是截止至出书时间).虽然过了这么久,但它依然以其简洁. ...
- 常见BOM实用对象
1.跨浏览器获取窗口左边上边位置 2.IE9+.Chrome.Safari.Opera.Firefox支持下列属性. innerheight 返回浏览器窗口本身的高度. innerwidth 返回浏 ...
- java复习(4)---数字处理类
java本身自带一些封装好的类方便数字问题的处理,review下方便以后使用 DecimalFormat类 可格式化数字格式,控制输出格式 Math类 提供三角函数.指数函数.取整函数.最大最小函数. ...
- 数据可视化之MarkPoint
MarkPoint是什么效果?如上图,一闪一闪亮晶晶的效果,这是在Echarts中对应的效果.我最早看到的是腾讯的一个Flash的版本,显示当前QQ在线人数的全国分布效果,感觉效果很炫,当时也在想,怎 ...
- 探讨.NET Core数据加密和解密问题
前言 一直困扰着我关于数据加密这一块,24号晚上用了接近3个小时去完成一项任务,本以为立马能解决,但是为了保证数据的安全性,我们开始去对数据进行加密,然后接下来3个小时专门去研究加密这一块,然而用着用 ...
- .net 做工作流时,生成项目后工具箱里有关工作流的东西不显示解决方法
在做工作流模块时,遇到一个比较棘手的问题,那就是生成项目后工具箱里有关工作流的东西不显示,这个问题令人百思不得其解,经过查阅英文网站,终于找到解决方法: 把项目中的建模项目移除掉,再重新生成,奇迹出现 ...
- Angular2.js——表单(上)
表单创建一个有效.引人注目的数据输入体验.Angular表单协调一组数据绑定控件,跟踪变更.验证输入的有效性,并且显示错误信息. 接下来,主要内容有: 1.使用组件和模板构建Angular表单: 2. ...
- JS基础——循环很重要
介绍循环之前,首先要说一下同样很重要的if-else结构,switch-case结构 ①if-else结构 if(判断条件) { 条件为true时执行 } else{ 条件为false时执行 } ②i ...
- poj3304计算几何直线与线段关系
Given n segments in the two dimensional space, write a program, which determines if there exists a l ...