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%人不知道!(转)的更多相关文章

  1. 使用R画地图数据

    用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...

  2. R语言和中国地图

    上图是R语言绘制的按地域分布的数据图.更科学,更严谨,也更有质感的样子. 今天瞎写点东西,我在想数据分析的意义是什么,也许就是研究事物存在的形式.而事物存在的形式是什么样子呢,从最初的三维空间,爱因斯 ...

  3. d3 画地图终极自适应大小方案

    d3,v4以前用d3画地图的时候,为了让地图差不多正好画在容器的上下左右正中间,不得不慢慢的这样调: const projection = d3.geoMercator() .center([108. ...

  4. 如何利用R包qqman画曼哈顿图?

    如何利用R包qqman画曼哈顿图? 2017-07-10 lili 生信人 众多周知,R语言提供了各种各样的包,方便实现我们的目的,下面给大家介绍一个可以便捷的画曼哈顿图的包:qqman instal ...

  5. PCB 合拼遍历(全排序+旋转90度) 基本遍历方法

    分享一下PCB合拼的组合的遍历方法,在分享之前先纠正一下 PCB拼板之多款矩形排样算法实现--学习  时间复杂度计算错误  一.PCB 合拼(全排序+旋转90度)的时间复杂度是多少? 二.合拼遍历(全 ...

  6. R与数据分析旧笔记(四)画地图练习

    > library(maps) > library(geosphere) 载入需要的程辑包:sp > map("state")#画美国地图 > map(&q ...

  7. R 画地图

    R 绘制中国省市分布地图 library(maps) library(mapdata) library(maptools); getColor=function(mapdata,provname,pr ...

  8. svg 画地图

    下载一个svgDeveloper软件,破解版下载     1.首先找一张地图作为绘制模板;(当然你也可以自己画,不准确怪我咯!)       2.新建svg文件:File --> New --& ...

  9. 每R一点:层次聚类分析实例实战-dist、hclust、heatmap等(转)

    聚类分析:对样品或指标进行分类的一种分析方法,依据样本和指标已知特性进行分类.本节主要介绍层次聚类分析,一共包括3个部分,每个部分包括一个具体实战例子. 1.常规聚类过程: 一.首先用dist()函数 ...

随机推荐

  1. 学习Sass之安装篇

    Sass是基于ruby开发的,所以想要用Sass要先搭建ruby环境 1 Mac下安装 2 windows下安装 3 下载koala,只需要下载这个软件,其余什么都不需要你安装

  2. Swift中枚举的总结以及使用

    枚举定义了一组具有相关性的数据,是开发者可以再带吗中以一个安全的方式来使用这些值,以又助于提供代码的可读性. 在Swift中,枚举可以分成两种:任意类型的枚举和指定类型的枚举,结构如下: //任意类型 ...

  3. 想询问一个职业规划的问题,前端开发 or nodejs?

    先说说个人情况,目前个人定位于初中级前端吧,工作近两年,目前前端开发和nodejs都有一定的了解,水平感觉可以搭一些小型的网站.作为前端开发,目前掌握的技术是javascript,平时更多的是用jqu ...

  4. 启动LUXContentTests过程中遇到的问题

    首先,要想在localbox中使用Selenium,就得准备好浏览器的driver文件.比如chrome对应的chromedriver文件,该文件是一个exe可执行文件. 问题:当我尝试去跑LUXCo ...

  5. 关于mpu6050的几个很好的帖子

    最近在研究6050,真是很磨人啊,这个小东西还挺复杂,一个读取程序竟然需要600多行. 这几天连查资料找到了几个很好的帖子,要是以后有人看到这篇帖子,可以避免误入歧途,也可以省去很多时间. 1.阿西莫 ...

  6. CSAcademy Beta Round #5 Long Journey

    题目链接:https://csacademy.com/contest/arhiva/#task/long_journey/ 大意是有一张无向不带权的图,两个人同时从s点出发,分别前往a点和b点,且每个 ...

  7. JQuery插件之Animate.css和 jquery-aniview

    Animate.css 一款强大的预设css3动画库 简介 animate.css 是一个来自国外的 CSS3 动画库,它预设了抖动(shake).闪烁(flash).弹跳(bounce).翻转(fl ...

  8. phpcms基础

    CSM基础(做中小型企业网站) 做一个企业站,三个页面比较重要1.首页2.列表页3.内容页 做企业站的流程:1.由美工出一张,设计效果图2.将设计图静态化3.开始安装CMS4.强模板文件放到CSM里面 ...

  9. linq语句复杂查询和分开查询的性能对比

    刚开始以为复杂的linq语句查询会不会比分开来写效率高,因为复杂的语句关联和嵌套多,执行应该慢.分开写虽然多了一次io处理,但是关联比较少,数据了比价少,和朋友讨了一下,回家就做了个测试,废话不多说, ...

  10. DFB系列 之 Bilp叠加

    1. 函数原型解析 函数声明: DFBResult Blit (     IDirectFBSurface    *  thiz,      IDirectFBSurface    *  source ...