其他
用 Python 撸一个全国疫情地图,其实一点都不难
pip install requests
pip install beautifulsoup4
import requests
import json
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
data = json.loads(requests.get(url=url).json()['data'])
china = data['areaTree'][0]['children']
data = []
for i in range(len(china)):
data.append([china[i]['name'],china[i]['total']['confirm']])
pip install pyecharts
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg
pip install pyecharts -i http://mirrors.aliyun.com/pypi/simple/
import requests
import json
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
from pyecharts.globals import GeoType,RenderType
china_total = "确诊:"+ data['chinaTotal']['confirm'] + \
" 疑似:" + data['chinaTotal']['suspect'] + \
" 死亡:" + data['chinaTotal']['dead'] + \
" 治愈:" + data['chinaTotal']['heal'] + \
" 更新日期:" + data['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(data)),#设置视觉映像配置,最大值为平均值
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="./html/render.html")
来源:水代码工作室
相关阅读:
我的名片能运行Linux和Python,能玩2048小游戏,成本只要20元!
哪种Python IDE最适合你?15款IDE优缺点列表都在这里了