前两天发了篇 新冠疫情可视化动态地图变化 ,介绍北京大学可视化与可视分析实验室出炉的疫情可视化作品。
有朋友就问能否介绍下如何使用Python绘制,现在我们就来看看。
Python绘制地图有很多模块可以实现,今天我们介绍PyEcharts。
PyEcharts是百度可视化框架Echarts的Python版本,使用相对简单。
绘制的地图效果是这样的,因为湖北新增确诊人数远大于其他地区,所以看到就是这个效果了。
PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于Python2.7+、3.4+版本开发的,而v1.x是一个全新的版本,它是基于Python3.6+版本开发的,另外经PyEcharts开发团队决定,0.5.x 版本将不再进行维护。
所以本文采用v1.x版本进行绘制地图。
首先我们来安装需要的模块:
# 安装pyecharts模块,直接安装就是最新的版本
pip install pyecharts
# 安装世界地图
pip install echarts-countries-pypkg
# 安装中国省份地图
pip install echarts-china-provinces-pypkg
# 安装中国城市地图
pip install echarts-china-cities-pypkg
然后导入需要使用的模块:
# 导入需要使用的模块
import pandas
from pyecharts.charts import Map,Geo
from pyecharts import options as opts
然后导入需要数据,数据是这样的,存在Excel表格中:
长按识别下方二维码,并关注公众号
回复“DTX”获取案例数据
导入数据后然后将数据转换为二元的列表,这是要求的格式,代码如下:
# 导入数据
data = pandas.read_excel('C:/Python/xgyq.xlsx',sheet_name='1')
# 将数据转换为二元的列表
list1 = list(zip(data['省份'],data['新增']))
接下来就可以创建地图并设置相应的参数了,代码如下:
# 创建一个地图对象
map_1 = Map()# 对全局进行设置
map_1.set_global_opts(
#设置标题
title_opts=opts.TitleOpts(title="全国疫情地图"),
#设置最大数据范围
visualmap_opts=opts.VisualMapOpts(max_=2500)
)
最后使用add方法添加地图数据与地图类型,并导出地图,代码如下:
# 使用add方法添加地图数据与地图类型
map_1.add("新增确诊人数", list1, maptype="china")
# 地图创建完成后,通过render()方法可以将地图渲染为html
map_1.render('全国疫情地图.html')
如果你喜欢本文,可以点击右下角在看
如果你在跟着学习,请在留言区留言:打卡
如果你刚看到本文,可以查看本系列历史文章跟着学习:
跟小白学Python数据分析——Anaconda安装
跟小白学Python数据分析——使用spyder
跟小白学Python数据分析——数据导入1
跟小白学Python数据分析——数据导入2
跟小白学Python数据分析——描述性统计分析
跟小白学Python数据分析——分组分析
长按识别下方二维码,并关注公众号,回复“PY”领取1GB Python数据分析资料
1.回复“PY”领取1GB Python数据分析资料
2.回复“BG”领取5GB 名企数据分析报告