利用pyecharts绘制中国2020肺炎疫情地图

近来武汉肺炎肆虐全国,大多人的日常应该是宅在家里。出于好奇,笔者想用Python来绘制中国2020肺炎疫情地图。
本代码采用Python3,需要安装模块:pyechartsecharts-china-provinces-pypkg
Python代码如下:

# -*- coding: utf-8 -*-
# author: Jclian91
# time: 2020-01-29 11:37
# -*- coding: utf-8 -*-
# author: Jclian91
# time: 2020-01-29 11:37

from pyecharts.charts import Map
from pyecharts import options as opts

# 省和直辖市
province_distribution = {'湖北':3554, '浙江':296, '广东': 241,
                         '湖南':221,  '河南':206, '安徽': 152,
                         '重庆':147,  '山东':121, '江西': 109,
                         '四川':108,  '江苏':99,  '北京':91,
                         '福建':82,   '上海':80,  '广西':58,
                         '陕西':56,   '河北':48,  '云南':44,
                         '海南':43,   '黑龙江':37, '辽宁':36,
                         '山西':27,   '天津':25,   '甘肃':24,
                         '内蒙古':16,  '新疆':13,  '宁夏':12,
                         '贵州':9,    '吉林':9,    '台湾':8,
                         '香港':8,    '澳门':7,    '青海':6,
                         '西藏':0
                         }

# maptype='china' 只显示全国直辖市和省级
map = Map()
map.set_global_opts(
    title_opts=opts.TitleOpts(title="20200129中国疫情地图"),
    visualmap_opts=opts.VisualMapOpts(max_=3600, is_piecewise=True,
                                      pieces=[
                                        {"max": 5000, "min": 1001, "label": ">1000", "color": "#8A0808"},
                                        {"max": 1000, "min": 500, "label": "500-1000", "color": "#B40404"},
                                        {"max": 499, "min": 100, "label": "100-499", "color": "#DF0101"},
                                        {"max": 99, "min": 10, "label": "10-99", "color": "#F78181"},
                                        {"max": 9, "min": 1, "label": "1-9", "color": "#F5A9A9"},
                                        {"max": 0, "min": 0, "label": "0", "color": "#FFFFFF"},
                                        ], )  #最大数据范围,分段
    )
map.add("20200129中国疫情地图", data_pair=province_distribution.items(), maptype="china", is_roam=True)
map.render('20200129中国疫情地图.html')
from pyecharts.charts import Map
from pyecharts import options as opts

# 省和直辖市
province_distribution = {'湖北':3554, '浙江':296, '广东': 241,
                         '湖南':221,  '河南':206, '安徽': 152,
                         '重庆':147,  '山东':121, '江西': 109,
                         '四川':108,  '江苏':99,  '北京':91,
                         '福建':82,   '上海':80,  '广西':58,
                         '陕西':56,   '河北':48,  '云南':44,
                         '海南':43,   '黑龙江':37, '辽宁':36,
                         '山西':27,   '天津':25,   '甘肃':24,
                         '内蒙古':16,  '新疆':13,  '宁夏':12,
                         '贵州':9,    '吉林':9,    '台湾':8,
                         '香港':8,    '澳门':7,    '青海':6,
                         '西藏':0
                         }

# maptype='china' 只显示全国直辖市和省级
map = Map()
map.set_global_opts(
    title_opts=opts.TitleOpts(title="20200129中国疫情地图"),
    visualmap_opts=opts.VisualMapOpts(max_=3600, is_piecewise=True,
                                      pieces=[
                                        {"max": 5000, "min": 1001, "label": ">1000", "color": "#8A0808"},
                                        {"max": 1000, "min": 500, "label": "500-1000", "color": "#B40404"},
                                        {"max": 499, "min": 100, "label": "100-499", "color": "#DF0101"},
                                        {"max": 99, "min": 10, "label": "10-99", "color": "#F78181"},
                                        {"max": 9, "min": 1, "label": "1-9", "color": "#F5A9A9"},
                                        {"max": 0, "min": 0, "label": "0", "color": "#FFFFFF"},
                                        ], )  #最大数据范围,分段
    )
map.add("20200129中国疫情地图", data_pair=province_distribution.items(), maptype="china", is_roam=True)
map.render('20200129中国疫情地图.html')

注意,代码中的数据为截止到2020年1月29日中午12点整的全国各省的确诊人数,西藏人数应为0。

运行上述代码,会生成20200129中国疫情地图.html,用浏览器打开该HTML文件,如下:
  在这里插入图片描述

在地图上可以进行一些互动,比如点击某个省份,我们可以看到该省份的数据;再比如我们取消“>1000”这一选项,就会发现湖北省颜色为白色,如下图:
在这里插入图片描述
感谢大家阅读,武汉加油!湖北加油!祝大家都身体健康!

发布了24 篇原创文章 · 获赞 8 · 访问量 1185

猜你喜欢

转载自blog.csdn.net/qq_41739233/article/details/104106868
今日推荐