ggplot2与数据可视化R语言R语言

R地图系列(1):maptools包绘制中国地图

2016-11-03  本文已影响1244人  周书恒

需要准备的数据

library(maps)
library(mapdata)
library(maptools)

好了,上面都准备好了就可以开始了。

读取数据&了解数据

加载中国行政区地图

map<-readShapePoly('chinamapdata/bou2_4p.shp')

先画个图看看

plot(map)

Paste_Image.png

ok,很神奇有没有,简短的一行代码,一张中国地图就出来了。
其实,真正复杂的是画图所要调用的数据map。

接下来我们来看看数据长啥样,需要说明的是本人对这个数据也没有了解透彻,本篇文章中介绍的只是目前自己理解的部分,如果有对此数据深入研究的同学,期待你的留言,只要有新的认识,我都会更新在文章中。

length(map)
[1] 925
names(map)
[1] "AREA" "PERIMETER" "BOU2_4M_" "BOU2_4M_ID" "ADCODE93" "ADCODE99" "NAME"

可以看出,map数据中包含了925条记录,每条记录中都含有

利用iconv 格式转换函数来转换各省名称

table(iconv(map$NAME, from = "GBK"))

得出以下结果:


Paste_Image.png

可以看出,不同的省,数据中用的存储空间不一样,有的可能只用了一行纪录,有的可能用了几十行。

运行一下这个,,其实就可以知道每个省的数据具体存在哪一行

iconv(map$NAME, from = "GBK")

显示一部分运行结果,结果一共有925个

Paste_Image.png

我们来看看黑龙江:

plot(map[1,])

Paste_Image.png

对,就是第一行画出来就是黑龙江
按照这个原理,其实可以单独画出每个省的地图。

所以中国地图和各省市地图基本上都可以通过maptools搞定。关键是要有数据。

接下来会在系列文章中用ggplot2绘图系统结合中国地图做一些可视化的东西。

上一篇 下一篇

猜你喜欢

热点阅读