2019-08-28

基于REmap包和Echarts绘制地图

前段时间帮朋友处理数据,用到了热力地图,一直知道R可以实现这个功能,但未进行尝试。最终成功使用两种方式完成了作图,为了避免以后自己忘记还是记下来如何操作的。

什么是REmap包

Remap是一个基于 Echarts 的一个R包.主要的目的是为广大数据玩家提供一个简便的,可交互的地图数据可视化工具.目前托管在github, 详细介绍看这里

REmap包支持的主题

REmap包可以制作很多种地图,静态、动态、中国、世界等等,用于制作热力地区只是其基本的功能。

数据准备

数据准备是相当简单啦,我的原始数据是excel整理的。


数据格式

只需要两列,一列省份,一列数据即可,把文件保存csv,便于rstudio的读取,当然你如果装了相应的package,是直接读excel的。

REmap包的安装与作图

我个人还是非常喜欢用Rstudio代替Rgui,好像现在Rstudio是主流呀哈哈。

install.packages("devtools")#安装devtools
library(devtools)#调用devtools
install_github('lchiffon/REmap')#通过github安装REmap

安装好了就可以准备作图了,先把整理好的数据读进来。

choropleth_map_data<-read.csv("D:/mydata.csv",stringsAsFactors=FALSE)
head(choropleth_map_data)

读取位置和文件名替换成自己的就可以了,head可以查看读入数据的前6行,确认一下数据是否 有问题。

head(choropleth_map_data)
  Province number
1     安徽     14
2     北京     97
3     福建     52
4     甘肃     17
5     广东    201
6     广西     55

设置一下颜色,颜色顺序为高-中-低

remapC(choropleth_map_data,
       color = c('red','blue','white'))

这样我们就可以得到下面这种热力地区,因为这是html格式的,我们点击右侧 红框处的保存按钮,就可以保存为图片了。


热力地图

如果把代码中的中间的颜色只保留两个值呢?

remapC(choropleth_map_data,
       color = c('red','white'))

我们就得到一个从白色直接向红色过渡的热力地图。


热力地图2

这种方式生成的地图是交互式,也就是把鼠标放到相应地区,会显示数值。但是这种图我并不是很满意。图例不好修改?或者是我不会修改?
所以我们下次介绍如何使用地图包和ggplot2来画热力地图

你可能感兴趣的:(2019-08-28)