【转发】

禽流感的每星期统计数据变动触动着一千万人的心,我何等期望傍晚一醒过来响起禽流感被击败的捷报。

我每晚傍晚醒过来的件事,是看一看诊断数目的变动,坚信许多爸爸妈妈也和我那样。我是一位开发人员,整天制做了这种两个小流程,透过Python动态聚合统计数据示意图,能是全省也能是每一省市。控制技术撷取,他们一同击败禽流感。

(统计数据源自中文网站不一定极为精确,主要就是控制技术撷取,还望一致同意)

全省统计数据图

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图

武汉市

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图1

宁波市

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图2

下面和他们一同来看一看标识符吧!

这儿借助于了pyecharts

1、嘿嘿将须要的组件引入进去

假如没那些组件提过先引入 import requests import json import re from pyecharts.charts import Map from pyecharts import options

在配置文件引入那些组件

引入组件

pip3 install requests

pip3 install json

pip3 install re

pip3 install pyecharts

除下面的组件须要引入外

依次是全球世界地图、中国省级世界地图、中国市级世界地图、中国区县级世界地图、中国区域世界地图

根据须要世界地图引入

pip3 install echarts-countries-pypkg

pip3 install echarts-china-provinces-pypkg

pip3 install echarts-china-cities-pypkg

pip3 install echarts-china-counties-pypkg

pip3 install echarts-china-misc-pypkg

2.获取统计数据-处理统计数据;

发起网络请求,获取统计数据 result = requests.get(https://interface.sina.cn/news/wap/fymap2020_data.d.json?1580097300739&&callback=sinajp_1580097300873005379567841634181) 使用正则表达式处理统计数据 json_str = re.search(“\(+([^)]*)\)+”, result.text).group(1) html = f”{json_str}” table = json.loads(f”{html}”)

3.进行世界地图的聚合,详解在后面;

province_data = [] 循环获取省市名称和对应的诊断统计数据 for province in table[data][list]: 将省市统计数据添加到列表中去 province_data.append((province[name], province[value])) city_data = [] 循环获取城市名称和对应的诊断统计数据 for city in province[city]: 这儿要注意对应上世界地图的名字须要使用mapName这个字段 city_data.append((city[mapName], city[conNum])) 使用Map,创建省市世界地图 map_province = Map() 设置世界地图上的标题和统计数据标记,添加省市和诊断数目 map_province.set_global_opts(title_opts=options.TitleOpts(title=province[name] + “动态禽流感图-诊断数目:” + province[value]), visualmap_opts=options.VisualMapOpts(is_piecewise=True,设置是否为分段显示 自定义统计数据范围和对应的颜色,这儿我是取色工具获取的颜色值,不容易呀。 pieces=[ {“min”: 1000, “label”: >1000人, “color”: “6F171F”}, {“min”: 500, “max”: 1000, “label”: 500-1000人, “color”: “C92C34”}, {“min”: 100, “max”: 499, “label”: 100-499人, “color”: “E35B52”}, {“min”: 10, “max”: 99, “label”: 10-99人, “color”: “F39E86”}, {“min”: 1, “max”: 9, “label”: 1-9人, “color”: “FDEBD0”}])) 将统计数据添加进去,聚合省市世界地图,所以maptype要对应省市。 map_province.add(“诊断”, city_data, maptype = province[name]) 一切完成,那么聚合两个省市的html网页文件,取上对应省市的名字。 map_province.render(province[name] + “.html”) 创建国家世界地图 map_country = Map() 设置世界地图上的标题和统计数据标记,添加诊断数目 map_country.set_global_opts(title_opts=options.TitleOpts(title=”中国动态禽流感图-诊断数目:” + table[data][“gntotal”]), visualmap_opts=options.VisualMapOpts(is_piecewise=True,设置是否为分段显示 自定义统计数据范围和对应的颜色,这儿我是取色工具获取的颜色值,不容易呀。 pieces=[ {“min”: 1000, “label”: >1000人, “color”: “6F171F”}, 不指定 max,表示 max 为无限大(Infinity)。 {“min”: 500, “max”: 1000, “label”: 500-1000人, “color”: “C92C34”}, {“min”: 100, “max”: 499, “label”: 100-499人, “color”: “E35B52”}, {“min”: 10, “max”: 99, “label”: 10-99人, “color”: “F39E86”}, {“min”: 1, “max”: 9, “label”: 1-9人, “color”: “FDEBD0”}])) 将统计数据添加进去,聚合中国世界地图,所以maptype要对应china。 map_country.add(“诊断”, province_data, maptype=”china”) 一切完成,那么聚合两个html网页文件。 map_country.render(“country.html”) “”” world世界地图,没详细去完善了,有兴趣的能试试。 data=[] for country in table[data][worldlist]: data.append((country[name], country[value])) print(data) map_country = Map() map_country.set_global_opts(title_opts=options.TitleOpts(title=”世界动态禽流感图”), visualmap_opts=options.VisualMapOpts(max_=1000)) map_country.add(“诊断”, data, maptype=”world”) map_country.render(“world.html”) 聚合html文件 “”” print(“聚合完成!!!”)

部分标识符解释:

(1)

将省市统计数据添加到列表中去

province_data.append((province[name], province[value]))

将统计数据中对应的值取出来添加到province_data中。

(2)

title_opts=options.TitleOpts(title=”A”)

A是聚合世界地图中的红色框框部分。

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图3

(3)

visualmap_opts=options.VisualMapOpts(is_piecewise=True,设置是否为分段显示

自定义统计数据范围和对应的颜色,这儿我是取色工具获取的颜色值,不容易呀。

pieces=[

{“min”: 1000, “label”: >1000人, “color”: “6F171F”},

{“min”: 500, “max”: 1000, “label”: 500-1000人, “color”: “C92C34”},

{“min”: 100, “max”: 499, “label”: 100-499人, “color”: “E35B52”},

{“min”: 10, “max”: 99, “label”: 10-99人, “color”: “F39E86”},

{“min”: 1, “max”: 9, “label”: 1-9人, “color”: “FDEBD0”}]))

is_piecewise=True,设置是否为分段显示

然后透过 pieces来设置。

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图4

(4)

将统计数据添加进去,聚合中国世界地图,所以maptype要对应china。

map_country.add(“诊断”, province_data, maptype=”china”)

将描述信息和对应统计数据添加到世界地图中去,同时设置世界地图type。

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图5

(5)

一切完成,那么聚合两个html网页文件。

map_country.render(“country.html”)

(6)这种聚合了世界、全省、省市的动态世界地图网页。

(源码)用Java制做禽流感的动态统计数据世界地图(D:全省以及每一省)插图6

作者 nasiapp

在线客服
官方客服
我们将24小时内回复。
12:01
您好,有任何疑问请与我们联系!

选择聊天工具: