echarts做全球疫情时序动态变化图-轮播图

import json
from pyecharts.charts import Timeline, Map
from pyecharts import options as opts
with open('./timeseries.json','r') as f:
    countries = json.load(f)

def render_map(date_list, cy_name_list, ncov_data):
    tl = Timeline()  # 创建时间线轮播多图,可以让图形按照输入的时间动起来
    #  is_auto_play:自动播放
    #  play_interval:播放时间间隔,单位:毫秒
    #  is_loop_play:是否循环播放
    tl.add_schema(is_auto_play=True, play_interval=50, is_loop_play=False)

    for i,date_str in enumerate(date_list):  # 遍历时间列表
        map0 = (
            Map()  # 创建地图图表
            # 将国家名 cy_name_list 以及各国当天确诊病例 ncov_data[date_str] 加入地图中
            .add("全球疫情趋势", [list(z) for z in zip(cy_name_list, ncov_data[date_str])],
                 "world", is_map_symbol_show=False)
            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))  # 不显示国家名
            .set_global_opts(
                title_opts=opts.TitleOpts(title="%s日" % date_str),  # 图表标题
                visualmap_opts=opts.VisualMapOpts(max_=20000),   # 当确诊病例大于80 ,地图颜色是红色
            )
        )
        tl.add(map0, "%s" % date_str)  # 将当天的地图状态加入时间线中

    tl.render('nowconfirm.html')  # 生成最终轮播多图,会在当前目录创建 render.html 文件


date_list=[]
for i in countries['Afghanistan']:
    date_list.append(i['date'])
cy_name_list=[]
for i in countries:
    cy_name_list.append(i)
ncov_data={}
for item,i in enumerate(date_list):
    ncov_data[i]=[]
    for j in cy_name_list:
        ncov_data[i].append(countries[j][item]['confirmed']-countries[j][item]['deaths']-countries[j][item]['recovered'])

render_map(date_list,cy_name_list,ncov_data)

效果
在这里插入图片描述

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值