2019Cov地图可视化(urllib+pyecharts)

2019Cov地图可视化(urllib+pyecharts)

目录

1.说明
2.数据的获取
3.pyecharts的使用
4.最终效果
5.最后



1.说明

代码使用的是pyechartsv1.0+版本,而网上许多为v0.5,v0.5.X和v1间不兼容,v1是一个全新的版本,我比较了一下发现v1的显示效果更丰富,也更简单,而网上v1的例子却较少,故将我这个初步的尝试发布了出来。
首先导入包

import urllib.request,json
from pyecharts.charts import Map
from pyecharts import options as opts



2.数据的获取

link
这篇文章对数据的获取讲的很明白了,可以参考。
这是我获取数据的代码

url='https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
request=urllib.request.Request(url)
response=urllib.request.urlopen(request)
file=response.read()

data_base=json.loads(file)
data_all=json.loads(data_base['data'])
data_china=data_all['areaTree'][0]
time=data_all['lastUpdateTime']
data_area=dict()
for x in data_china['children']:
    data_area[x['name']]=x['total']['confirm']
data_map=list(data_area.items())#因为pyecharts需要的是键值对列表
#故进行转换,而v0.5版本的话要分开输入键值,但是其提供了一个cast()方法


3.pyecharts的使用

maps=Map()\
    .add('感染人数',data_map,'china',)\
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2019-Cov",pos_left='center',
                                  subtitle=time),
        visualmap_opts=opts.VisualMapOpts(
            max_=max(data_area.values()),
            is_piecewise=True,
            pieces=[{"min":1,"max":9,"color":'#ffe6be'},#(255,230,190)
                  {"min":10,"max":99,"color":'#ffb769'},#(255,183,105)
                 {"min":100,"max":499,"color":'#ff8762'},#(255,135,98)
                 {"min":500,"max":1000,"color":'#ea4d48'},#(234,77,72)
                {"min":1001,"color":'#ca0d11'}],#(202,13,17)),
        legend_opts=opts.LegendOpts(is_show=False),
        toolbox_opts=opts.ToolboxOpts(is_show=True)
)
maps.render()

首先创建一个map对象,然后调用add(),add方法的参数官网上都有详细说明,非常好懂,第一个为系列名称(我在后面取消了其显示),第二个为数据,第三个为你要画的地图的名称,'china’为中国地图,’world’为世界地图,这些数据得提前下载好,如何下载官网上也写的十分详细。

2019Cov地图可视化(urllib+pyecharts)_第1张图片


然后就是配置一些图例,如下图所示想修改哪里就配置哪个类,再修改一些参数,十分简单。


2019Cov地图可视化(urllib+pyecharts)_第2张图片

4.最终效果


2019Cov地图可视化(urllib+pyecharts)_第3张图片

配置十分简单,效果也非常好的

5.最后

希望我国能早日战胜疫情,也向在与疫情抗击的所有医生,军人和所有科研人员表示感谢。武汉加油!!!

你可能感兴趣的:(2019Cov地图可视化(urllib+pyecharts))