In [47]: # 爬取数据
In [48]: import requests,json
In [49]: url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
In [50]: data = json.loads(requests.get(url = url).json()['data']) #获取数据
In [51]: China_total = '确诊:'+str(data['chinaTotal']['confirm'])+\
...: '疑似:'+str(data['chinaTotal']['suspect'])+\
...: '死亡:'+str(data['chinaTotal']['dead'])+\
...: '出院:'+str(data['chinaTotal']['heal'])+\
...: '更新日期:'+ str(data['lastUpdateTime']) #生成副标题
In [52]: China = data['areaTree'][0]['children']
In [53]: #上面一行用于获取中国的地区数据
In [54]: data = []
In [55]: for i in range(len(China)): #获取确诊病例并作为显示数据
...: data.append([China[i]['name'],China[i]['total']['confirm']])
...:
In [56]: sum = 0
In [57]: for i in range(len(data)):
...: sum += data[i][1] #方便后期计算平均数,显示用途
...:
...:
In [58]: from pyecharts.charts import Map,Geo
In [59]: from pyecharts.globals import GeoType,RenderType
In [60]: from pyecharts import options as opts
In [63]: geo = (#链式处理
...: Geo(init_opts =opts.InitOpts(width ='1200px',height ='600px',bg_color = '#404a59',page_title = '全国疫情报告ZC',renderer = RenderType.SV
...: G,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) #设置地图数据。动画方式为涟漪
...: .set_series_opts( #系列配置
...: label_opts =opts.LabelOpts(is_show = False),# 不显示标签
...: effect_opts =opts.EffectOpts(scale = 6)) #设置涟漪缩放比例
...: .set_global_opts( #全局配置
...: visualmap_opts = opts.VisualMapOpts(min_=0,max_ = sum/len(data)),
...: title_opts = opts.TitleOpts(title ='全国疫情地图ZC',subtitle = China_total,pos_left ='center',pos_top = '10px',title_textstyle_opts = op
...: ts.TextStyleOpts(color ='#fff')), #设置标题,副标题,标题位置,文字颜色
...: legend_opts = opts.LegendOpts(is_show = False),#不显示图例
...: )
...: )
In [64]: geo.render()
Out[64]: 'C:\\Users\\ASUS\\render.html'
PythonEcharts-全国肺炎疫情地图制作
猜你喜欢
转载自blog.csdn.net/weixin_40539952/article/details/104233041
今日推荐
周排行