如何用R绘制地图

Python014

如何用R绘制地图,第1张

这里主要介绍下在R语言中绘制地图的个人琢磨的思路。绘制地图步骤有三:

你得需要绘制地图;(约等于废话)

你得有要绘制地图的地理信息,经纬度啊,边界啊等等;

你得利用2的数据在R中画出来。

以上步骤中,目前最关键的是2,一旦2的数据有了,在R中不就是把它们连起来嘛,这个对于R来说就是调戏它,就跟全民调戏小黄鸡一样。

R语言中绘制地图的思路也是由于2的获取方式不一样而分开的。

第一种思路:有一些R包中存储着常见地图的数据,比如maps包中存有世界地图、美国地图、美国各州郡地图、法国地图以及加拿大城市地图等,加载了这个包,就可以轻松愉快地绘制上述地图。mapdata包中存有中国地图的数据,但是比较旧了,这个数据,重庆还没有从四川分出来呢。

第二种思路:我先去一个地方所画图的地理数据,然后读入R进行绘制。比如由于mapdata中的中国地图比较久远了,谢老大的《终于搞定中国分省市地图》一文中就介绍了,先从国家基础地理信息中心中国各省市的地理数据,之后再绘制。后来肖凯老师又介绍googleVis包也可以按照这个思

最近受江苏疫情影响,好多小伙伴都居家办公咯!为了密切关注疫情动态,最近写了爬取疫情分布的脚本,参考上篇链接。

既然我们已经获得了相应的江苏各个地级市的疫情数据,那么我们如何来使用Python实现将数据可视化在地图上呢?

Apache Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

简单来说,pyecharts具有以下特性:

3. Pyecharts 安装

使用pip进行安装如下:

因为我们需要使用pycharts绘制地图,此时我们还需要安装相应的地图文件包:

其中:

echarts-countries-pypkg 包为全球国家地图

echarts-china-provinces-pypkg包为中国省级地图

echarts-china-cities-pypkg 包为中国市级地图

安装完上述绘制地图相关的python包后,我们接下来开始画疫情分布地图。

首先,我们先来查看一段Pyecharts相关实现:

上述代码解释如下:

运行后会在当前目录生成 map_jiangsu_0803.html,用浏览器打开后结果如下:

当鼠标移动到对应区域后,会显示出对应地级市今日新增人数。

上述脚本虽然可以实现我们的功能,但是颜色灰灰的,太过于单调,接下来我们来想办法进行美化,实现代码如下:

代码解释如下:

运行后会在当前目录生成 map_jiangsu_0803_new.html,用浏览器打开后结果如下:

同理我们可以得到现有确诊人数分布如下:

进而我们可以得到累计确诊人数分布如下:

参考 https://blog.csdn.net/fanfanrenrenmi/article/details/52565429

https://my.oschina.net/u/2306127/blog/473842](https://my.oschina.net/u/2306127/blog/473842

这两篇文章中已经写的很详细,那就开始比着做吧

虽然之前很少用R做过地图

https://pan.baidu.com/s/1jIicFHk](https://pan.baidu.com/s/1jIicFHk

先来安装一些的包

画个 好看的 中国地图,使用ggplot调整到平面图,调整投影方式后,图像如下,可以不要theme部分,自己查看效果,会有经纬线等信息。