丁香园医生的全国新型肺炎疫情实时动态中有一个对全国疫情分布的可视化,大家是否想知道其是如何做的呢?
其实简单,有了疫情的数据,安装下面几个包,你也可以轻松做到!
在Python环境中,首先通过下面命令安装pyecharts这个工具包:
python -m pip install pyecharts==0.5.1
安装完了这个包,画出来的图还未能显示地图出来,还需要安装世界地图,中国地图以及中国各省市地图等这些包。通过下面的命令一个一个地安装:
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
好了,到现在各个包都安装完毕。
先上完整代码。
// 导进pyecharts里的Map包
import numpy as np
from pyecharts import Map,Geo
// 数据来源:国家及各省市地区卫健委
value=np.array([4586,428,311,278,277,200,165,162,145,142,129,114,101,101,78,70,65,63,46,43,41,35,29,26,18,17,14,14,12,10,8,7,6,1])
attr=["湖北","浙江","广东","河南","湖南","安徽","重庆","江西","山东","四川","江苏","北京","上海","福建","广西","云南","河北",
"陕西","海南","黑龙江","辽宁","山西","天津","甘肃","内蒙古","宁夏","吉林","新疆","贵州","香港","台湾","澳门","青海","西藏"]
//在map_virus.add()设置地图显示参数。
map_virus=Map("截至 2020-1-30 14:42 数据统计",width=1000,height=800)
map_virus.add("China",attr,value,is_map_symbol_show=True,maptype='china',is_visualmap=True,is_piecewise=True,visual_text_color='#000',
is_label_show=True, pieces=[
{"max": 10000, "min": 1001, "label": ">1000"},
{"max": 1000, "min": 500, "label": "500-1000"},
{"max": 499, "min": 200, "label": "200-499"},
{"max":199,"min":100,"label":"100-199"},
{"max":99,"min":10,"label":"10-99"},
{"max":9,"min":1,"label":"1-9"}])
map_virus.render('1月30日疫情地图.html')
这样子就可以绘制一个完整的全国疫情地图啦。因为没有指定路径,画出的地图在你的python文件同级目录下,是一个html文件。
我在我电脑中画出来的图是这样的,可以看出武汉之外,东部省份也甚是严重。
图中左下角的颜色数量标是由代码中pieces这个参数来控制,pieces中max和min参数控制显示范围。到这里是不是觉得很简单!
第一次写博客,希望多多指正!
参考:
https://3g.dxy.cn/newh5/view/pneumonia?from=singlemessage&isappinstalled=0
https://mp.weixin.qq.com/s/CV3m0bA0X72qQrznMnENmg
https://zhuanlan.zhihu.com/p/42234841