前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据地图系列8|R语言版数据地图(下)

数据地图系列8|R语言版数据地图(下)

作者头像
数据小磨坊
发布2018-04-10 17:12:02
1.4K0
发布2018-04-10 17:12:02
举报
文章被收录于专栏:数据小魔方数据小魔方

今天要跟大家分享的是数据地图系列的第八篇——R语言版数据地图(下),分省(市级)热力地图。

步骤与昨天分享的中国热力地图步骤基本一致,只是需要调用的数据文件和需要自定义的指标文件略有本不同。

R语言系统环境配置:

R version 3.2.3

RStudio Version 0.99.484

在正式开始之前,必须确保你的R语言环境中已经安装以下包:

ggplot2

plyr

maptools

如果还未安装,需要先安装:install.packages("ggplot2","plyr","maptools")

下面是正式作图步骤:

1、加载所需要的R包:

library(ggplot2)

library(plyr)

library(maptools)

2、读入作图数据:

CHN_adm2 <- readShapePoly("c:/rstudy/CHN_adm/CHN_adm2.shp") 读入数据文件

3、整合与转化数据

CHN_adm2_1 <- fortify(CHN_adm2) #转化为数据框

x <- CHN_adm2@data #读取行政信息

xs <- data.frame(x,id=seq(0:344)-1) #总共345行

china_map_data <- join(CHN_adm2_1, xs, type = "full") #合并形状数据与行政

4、抽取安徽省的整合数据

anhui <-subset(china_map_data,NAME_1=="Anhui") #取出安徽省的子集

5、读入指标数据

mydata=read.csv("c:/rstudy/anhui.csv") #打开自定义的指标文件。

以上指标数据需要你自己定义,使用excel文件创建,指标数据输入完成之后,另存为.CSV格式(存至c:/rstudy/下,这样便于引用,当然这些指标数据文件在昨天分享的数据文档里已经为你创建好了,你只需要修改数据就可以了)

anhui_data <- join(anhui, mydata, type="full") #合并地图数据与业务数据

6、运行代码:

ggplot(anhui_data, aes(x = long, y = lat, group = group,fill=zhibiao)) +

geom_polygon(colour="grey40") +

scale_fill_gradient(low="white",high="steelblue") +

coord_map("polyconic") +

theme(

panel.grid = element_blank(),

panel.background = element_blank(),

axis.text = element_blank(),

axis.ticks = element_blank(),

axis.title = element_blank()

) #【无标签】

以上代码与前一篇所讲到的代码几乎一样,只是具体数据不一样。

midpos <- function(x) mean(range(x,na.rm=TRUE))

centres <- ddply(anhui_data,.(city),colwise(midpos,.(long,lat)))

ggplot(anhui_data,aes(long,lat)) +

geom_polygon(aes(group=group,fill=zhibiao),colour="black") +

scale_fill_gradient(low="white",high="steelblue") +

geom_text(aes(label=city),data=centres) +

theme(

panel.grid = element_blank(),

panel.background = element_blank(),

axis.text = element_blank(),

axis.ticks = element_blank(),

axis.title = element_blank()

)#【带标签】

以上代码可以输出结果带有市级行政名称的带标签数据地图来。

当然,其实我们只需要修改以上所有代码的引用文件名称,可以跑出来任意一个省份的市级热力地图。

(前提是,你已经定义好每一个省份的指标数据)

事实上,我已经搜集整理了全国27个省级行政单位的热力地图代码(TXT)和数据文件(主要是指标文件需要自己定义,而且所有省份的指标文件已经在昨天分享的数据文件夹里了,地图数据文件都是引用的同一个数据源)。

如果你能够获取这些代码文件,你只需要用excel打开对应省份.CSV文件,替换,继续存为.CSV就可以直接跑我给你的代码了,直接出图(最好与我代码里给的路径一致)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据小魔方 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图数据库 KonisGraph
图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档