PythonEcharts-全国肺炎疫情地图制作

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'

发布了101 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_40539952/article/details/104233041