如何用R绘制地图

r语言绘制地图

本文主要包含三种绘制地图的方法:绘制基础地图、基于空间数据格式(shapefile)绘制地图以及如何调用百度地图和谷歌地图的数据来绘制地图。

基础地图

方法

从map()包里获取地图数据,用geom_polygon()(可以用颜色填充)或者geom_path()(不能填充)绘制。

#install.packages(“ggplot2”)

#install.packages(“maps”)

library(ggplot2)

library(maps) # 为了获取数据

##

## # ATTENTION: maps v3.0 has an updated ‘world’ map. #

## # Many country borders and names have changed since 1990. #

## # Type ‘?world’ or ‘news(package=”maps”)’. See README_v3. #

# 美国地图数据

states_map <- map_data(“state”)

head(states_map)

## long lat group order region subregion

## 1 -87.46201 30.38968 1 1 alabama

## 2 -87.48493 30.37249 1 2 alabama

## 3 -87.52503 30.37249 1 3 alabama

## 4 -87.53076 30.33239 1 4 alabama

## 5 -87.57087 30.32665 1 5 alabama

## 6 -87.58806 30.32665 1 6 alabama

# geom_polygon()

ggplot(states_map, aes(x=long,y=lat,group=group)) +

geom_polygon(fill=”white”,colour=”black”) +

labs(title = “USA Map”)

USA map

# 中国地图

library(mapdata)

map(“china”, col = “red4”, ylim = c(18,54), panel.first = grid())

title(“China Map”)

china map

# 世界地图数据

world_map <- map_data(“world”)

head(world_map)

## long lat group order region subregion

## 1 -69.89912 12.45200 1 1 Aruba

## 2 -69.89571 12.42300 1 2 Aruba

## 3 -69.94219 12.43853 1 3 Aruba

## 4 -70.00415 12.50049 1 4 Aruba

## 5 -70.06612 12.54697 1 5 Aruba

## 6 -70.05088 12.59707 1 6 Aruba

#sort(unique(world_map$region))

# 绘制指定区域的地图数据

# 绘制欧洲足球五大联赛所在地

euro <- map_data(“world”, region = c(“UK”,”France”, “Spain”,”Germany”, “Italy”))

ggplot(euro, aes(x=long, y = lat, group=group,fill=region)) +

geom_polygon(colour=”black”) +

scale_fill_brewer(palette = “Set2”) +

scale_y_continuous(limits=c(40,60)) +

scale_x_continuous(limits=c(-25,25)) +

labs(title = ” Euorpe’s Big Five Football Leagues”)

欧盟足球五大联赛地图

绘制等值区域图

当我们创建一个地图后,如果根据变量值对不同区域填充不同的颜色呢?

方法

很简单,只要把变量值和地图数据合并在一起,然后把一个变量映射到fill上就可以了。

head(USArrests) # 1973年的数据

## Murder Assault UrbanPop Rape

## Alabama 13.2 236 58 21.2

## Alaska 10.0 263 48 44.5

## Arizona 8.1 294 80 31.0

## Arkansas 8.8 190 50 19.5

## California 9.0 276 91 40.6

## Colorado 7.9 204 78 38.7

crimes <- data.frame(state= tolower(rownames(USArrests)), USArrests)

# 合并数据集

crime_map <- merge(states_map,crimes,by.x=”region”,by.y = “state”)

# head(crime_map)

library(plyr) # 加载数据清洗软件包

##

## Attaching package: ‘plyr’

##

## The following object is masked from ‘package:maps’:

##

## ozone

# 按照 group, order排序

crime_map <- arrange(crime_map,group,order)

# head(crime_map)

ggplot(crime_map, aes(x=long,y=lat, group = group, fill = Assault)) +

geom_polygon(colour = “black”) +

coord_map(“polyconic”) +

labs(title = “USA Map”)

用户喜欢...

技术牛逼也要懂点社交:数据科学家公司生存指南TOP30秘诀

作者:SeattleDataGuy 数据科学家老司机的30个经验之谈,教你如何在公司内获得认同,带你绕过他们曾经踩过的坑。 作...


大数据早报:谷歌重返中国组建团队 天猫发布大闸蟹消费趣味数据报告(9.5)

数据早知道,上36dsj看早报! 来源36大数据,作者:奥兰多 『谷歌』谷歌重返中国组建团队? AI项目在中国开启招聘...


营销转数据,两年半到P7,我都做了哪些事儿?

作者:李宁 缘起 标题含义:传统行业的三年管培后,2014.12转型做数据,先后经历艾瑞、携程,于2017.9入职eleme的新零...


数据分析行业薪资的秘密,你想知道的都在这里(3)

数据分析行业薪资的秘密,你想知道的都在这里(1) 数据分析行业薪资的秘密,你想知道的都在这里(2) 作者:王彦...


为什么大数据创业很艰难且不赚钱?你需要同「死亡数据轮」作战

作者:Brian Balfour, Reforge. 本文为36大数据独译,译者 刘露曦 下图为“死亡数据轮”: “死亡数据轮” 阶段1: 数据不...


新兴生态系统:数据科学与机器学习软件分析

作者:Gregory Piatetsky, KDnuggets 本文为36大数据独译,译者ya楠 本文中我们将对现有大数据的顶级工具做项测验:Python和...


如何理解马云演讲「十年后没有数据分析师的职业」

作者:lichald 缘起 结缘:我个人很喜欢研究马云的研究,一是认为他把事情做到了不可思议的高度,二是他很爱对未...


数据分析你放在人人贷的钱都去了哪里?

作者:猫尾KUN 摘要:本文使用python抓取分析数据—人人贷,并从中获取贷款用户。 一、抓取准备      导入必要的...


商机 | 大数据/政务云采购清单 招标6起,最高招标价为6348.15万(8.30-9.1)

文 | 36大数据 奥兰多 一、政府、企事业单位大数据/政务云中标成交清单,一共11起,最高成交价为756万 二、政府、企...


DataStory品牌新升级 | 数据·洞察·连接,做大数据商业价值缔造者

2009年,DataStory创始人徐亚波博士从北美回到中山大学,创立智能信息处理与云计算实验室,专注海量数据处理以及语义...


大数据早报:腾讯慧眼正式发布 程序员全部身家押宝比特币逆袭成富翁(9.1)

数据早知道,上36dsj看早报! 来源36大数据,作者:奥兰多 『数据营销』中国首家天猫小店杭州开业 用数据分析决定...


深度学习:Neural Network Layers Understanding

Inner Product Layer Inner Product Layer即全连接层,对于IP层的理解,可以简单的将其视为矩阵1*N和矩阵N*M相乘后得到1...


大数据早报:阿里即将开源ApsaraCache Uber关闭备受争议的乘客位置追踪服务(8.31)

数据早知道,上36dsj看早报! 来源36大数据,作者:奥兰多 『阿里』阿里即将开源ApsaraCache,云数据库Redis版分支 Ap...


大数据技术平台的分类与选择指南

大数据的处理过程可以分为大数据采集、存储、结构化处理、隐私保护、挖掘、结果展示(发布)等,各种领域的大数据...


《绝地求生》大数据:游戏时长25815年,吃鸡10255吨

《绝地求生》游戏自从3月底发售,四个月的销量突破了600万,而这其中国内玩家占比大约在19.47%,数量也是超过了...


这几组数据告诉你:在手游上女人有多么专一

在游戏上,女人是男人的附属品——这是几年前我们的认知,而今年曝光的几组数据将颠覆你的认知,在手游热度逐...