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

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

用爬虫爬取数据,再用matplotlib作图,固然强大但不够简单。这里用akshare的API接口获取数据,用我钟爱的pyecharts(version=1.6.2,当前最新)做一次简单的可视化。

"""
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下。

结果如下:
用pyecharts做2019-nCoV疫情数据可视化_第1张图片

你可能感兴趣的:(用pyecharts做2019-nCoV疫情数据可视化)