一直很好奇我国人口分布和迁移情况,所以想用Python分析一下。
由于我国省份较多,把数据放在地图上展示会更加清晰,故本文用Python中的pyecharts库进行人口分布和迁移绘图展示。
Map模块主要实现“世界”、“国家”、“省”、“县市”等行政地图的显示,而Geo主要实现热力图等功能地图的显示。
本文致力于让大家学会用Python在地图上进行数据展示。
本文目录
一、安装pyecharts库
首先在cmd中安装pyecharts库,语句如下:
如果安装成功会出现如下结果:
二、Geo和Map模块主要函数
[1] render():通过render函数将制作完成的图表输出为html文件,可在括号中传递输出地址参数,将html文件保存到自定义的位置。
[2] add_schema():控制地图类型,设置背景和边界颜色等。
[3] add():添加图表名称、传入数据、选择图类型等。
[4] set_series_opts():系列配置项,可配置文字样式、标签样式等。
[5] set_gloal_opts():全局配置项,可配置标题、动画、颜色等。
[6] render_notebook():在notebook中显示制作完成的图表。
[7] add_coordinate():新增一个坐标点。
[8] add_coordinate_json():以json形式新增多个坐标点。
[9] get_coordinate():根据地点查询对应坐标。
三、用Geo模块绘制人口分布图
由于各省人口数量不均匀,可在地图上展示各省人口数量,分析我国人口相对较多和较少的省份是哪些。
1 导入我国各省人口数据
首先导入我国各省人口数据,代码如下:
展示前几行数据如下:
2 在地图上展示各省人口数据涟漪图
得到结果:
图一 全国各省人口(万)分布
由图一知,如果把中国地图看成一只公鸡,人口相对较多的地方主要集中在鸡胸和鸡肚子区域。
3 在地图上展示各省人口数据热力图
得到结果:
图二 全国各省人口分布热力图
四、用Map模块绘制人口分布图
用Map模块绘制人口分布图,代码和Geo模块绘图类似,具体代码如下:
得到结果:
图三 全国各省人口分布
五、全国各省人口流入广东动态轨迹图
1 导入我国各省人口迁移数据
首先导入我国各省人口迁移数据,代码如下:
展示前几行数据如下:
2 绘制人口流入广东动态轨迹图
由于全国人口迁移数据较多,全部绘制在地图上会比较混乱。所以本文挑选了人口流入广东的数据进行绘图展示,具体代码如下:
得到结果:
图四 流入广东人口分布
由图四知,流入广东人口最多的省份是广西、湖南、四川,流入人口相对较多的省份和地理位置也有一定的关系。
至此,在Python中用Geo和Map模块绘图已全部讲解完毕,感兴趣的同学可以自己实现一遍