代码如下所示:
import requests
import json
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
from pyecharts.globals import GeoType, RenderType
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
datas = json.loads(requests.get(url=url).json()['data'])
china = datas['areaTree'][0]['children']
data = []
for i in range(len(china)):
data.append([china[i]['name'], china[i]['total']['confirm']])
confirm = datas['chinaTotal']['confirm']
suspect = datas['chinaTotal']['suspect']
dead = datas['chinaTotal']['dead']
heal = datas['chinaTotal']['heal']
lastUpdateTime = datas['lastUpdateTime']
print(confirm, suspect, dead, lastUpdateTime)
china_total = "确诊:" + str(confirm) + " 疑似:" + str(suspect) + " 死亡:" + str(dead) + " 治愈:" + str(
heal) + " 更新日期:" + lastUpdateTime
geo = (
Geo(init_opts=opts.InitOpts(width="1200px", height="600px", bg_color="#404a59", page_title="全国疫情实时报告",
renderer=RenderType.SVG, theme="white")) # 设置绘图尺寸,背景色,页面标题,绘制类型
.add_schema(maptype="china", itemstyle_opts=opts.ItemStyleOpts(color="rgb(49,60,72)",
border_color="rgb(0,0,0)")) # 中国地图,地图区域颜色,区域边界颜色
.add(series_name="geo", data_pair=data, type_=GeoType.EFFECT_SCATTER) # 设置地图数据,动画方式为涟漪特效effect scatter
.set_series_opts( # 设置系列配置
label_opts=opts.LabelOpts(is_show=False), # 不显示Label
effect_opts=opts.EffectOpts(scale=6)) # 设置涟漪特效缩放比例
.set_global_opts( # 设置全局系列配置
# visualmap_opts=opts.VisualMapOpts(min_=0, max_=sum / len(datas)), # 设置视觉映像配置,最大值为平均值
title_opts=opts.TitleOpts(title="全国疫情地图", subtitle=china_total, pos_left="center", pos_top="10px",
title_textstyle_opts=opts.TextStyleOpts(color="#fff")),
# 设置标题,副标题,标题位置,文字颜色
legend_opts=opts.LegendOpts(is_show=False), # 不显示图例
)
)
geo.render(path="./render.html")
运行效果图如下所示:
总结
以上所述是小编给大家介绍的Python3实现监控新型冠状病毒肺炎疫情的示例代码,希望对大家有所帮助!
标签:requests
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!