用pyecharts做2019-nCoV疫情数据可视化

南楼画角 提交于 2020-02-09 15:24:04

用pyecharts做2019-nCoV疫情数据可视化

"""
coder : xh
time : 2020/2/8 10:05
_*_ coding:utf-8 _*_
"""
#导入库
import pandas as pd
import akshare as ak
import matplotlib.pyplot as plt
import datetime
from pyecharts.charts import Map
from pyecharts import options as opts
#from pyecharts.render import make_snapshot
#from snapshot_selenium import snapshot

#用API接口获取数据(丁香园)
inf_dxy = ak.epidemic_dxy(indicator='全国')

#简单处理为pyecharts中Map需要的数据格式
province = list(inf_dxy['地区简称'])
folk = list(inf_dxy['确诊'])
list1 = [[province[i],folk[i]] for i in range(len(province))]

#开始画图
c = Map(init_opts=opts.InitOpts(width="800px", height="660px"))
c.add("疫情实时地图", list1,'china',is_map_symbol_show=False)
c.set_global_opts( #设置全局配置项
	title_opts=opts.TitleOpts(title="疫情实时地图(" + str(datetime.date.today()) + ")"
        ),
	visualmap_opts=opts.VisualMapOpts(max_=10000,
								  is_piecewise=True,
								  pieces=[
								  {'min':1,'max':9,'label':'10人以下','color':'#FFE6BE'},
								  {'min':10,'max':99,'label':'10-99人','color':'#FFB769'},
								  {'min':100,'max':999,'label':'100-999人','color':'#FF8F66'},
								  {'min':1000,'max':9999,'label':'1000-9999人','color':'#ED514E'},
								  {'min':10000,'max':99999,'label':'10000人以上','color':'#CA0D11'},]),#设置自定义分段


	legend_opts=opts.LegendOpts(is_show=False), #是否显示图例
)


c.render('current_map.html')# 输出html格式
#make_snapshot(snapshot, c.render(), "current_map.png")#输出png格式,需导入被注释的包并配置 browser driver。如:用Chrome浏览器并下载ChromeDriver放在bin下。

结果如下:
在这里插入图片描述
初学者,不足之处欢迎指正

参考文章:https://zhuanlan.zhihu.com/p/105001857?utm_source=wechat_session&utm_medium=social&utm_oi=845431849579864064&from=singlemessage

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!