前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何绘制全球新冠病毒疫情动态分布图

如何绘制全球新冠病毒疫情动态分布图

作者头像
白墨石
发布2021-01-13 10:22:10
7990
发布2021-01-13 10:22:10
举报
文章被收录于专栏:生信情报站生信情报站

目前新型冠状病毒疫情已经蔓延到全球,截止北京时间8日上午9时,全球确诊140万人,其中美国确诊人数超40万人,正如局座所说这次疫情不亚于第三次世界大战。大家除了注意全球疫情动态,更要注重个人防护,避免给国家添乱。

利用数据的时序性分析对于疫情分布和控制具有指导意义,也可以使大家直观的看到疫情的发展趋势。下面是从2020年1月22日起到2020年4月8日的世界各国疫情数据绘制的确诊,治愈,死亡人数动态分布图。链接:http://map.ziptop.top/

全球确诊人数动态分布图

mark
mark

全球治愈人数动态分布图

mark
mark

全球死亡人数动态分布图

mark
mark

一、数据获取

数据来自约翰斯·霍普金斯大学统计数据Johns Hopkins University Center for Systems Science and Engineering (CSSE)

也可以使用https://github.com/datasets/covid-19 上提供的更全面的数据

约翰斯·霍普金斯大学(Johns Hopkins University),简称Hopkins或JHU,成立于1876年,是一所世界顶级的著名私立大学,美国第一所研究型大学。世界大学排名世界第12,美国第9 。该校医学院的教学研究单位约翰斯·霍普金斯医院(JHH)连续21年被评为全美最佳医院。学校共有37人获得过诺贝尔奖。其尼采高级国际研究学院(SAIS)培养出美国国务卿奥尔布赖特、财政部长盖特纳、世界银行行长埃因霍、中国驻美大使崔天凯等

二、数据处理

在绘图前需要将数据整理为下面这种 json 格式

mark
mark

三、数据可视化

可视化用到的是 Echarts,框架为bootstrap

代码语言:javascript
复制
var map_chart = echarts.init(document.getElementById('main'));
map_chart.showLoading();
$.get("./data/case/"+type_name+".json",function(data,status){
    let input_data = data;
    $.get('./data/map/world.json', function (mapJson) {
        map_chart.hideLoading();

        echarts.registerMap('world', mapJson, {

        });
        option = {
            baseOption: {
                timeline: {
                    axisType: 'category',
                    loop: false,
                    autoPlay: true,
                    playInterval: 100,
                    controlStyle: {
                        position: 'left'
                    },
                    data: input_data.time_line,
                    currentIndex:0

                },
                visualMap: {
                    left: 'right',
                    show: false,
                    pieces: [
                        {min: 50000, color: colors[7]},
                        {min: 10000, max: 50000, color: colors[6]},
                        {min: 5000, max: 10000, color: colors[5]},
                        {min: 1000, max: 5000, color: colors[4]},
                        {min: 500, max: 1000, color: colors[3]},
                        {min: 50, max: 500, color: colors[2]},
                        {min: 10, max: 50, color: colors[1]},
                        {min: 1, max: 10, color: colors[0]},
                        {max: 0, color: colors[0]},
                    ],
                },
                series:[
                    {
                        type: 'map',
                        roam: true,
                        map: 'world',
                    },
                ],

                tooltip: {
                    trigger: 'item',
                    showDelay: 0,
                    transitionDuration: 0.2,
                    formatter: function (params) {
                        var value = (params.value + '').split('.');
                        value = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,');
                        return type_name + '<br/>' + params.name + ': ' + value;
                    }
                },
                title:{
                    x:'center',
                    y:'top',
                    textAlign:'left',
                    textStyle: {
                        color: "#333",
                        fontSize: 14
                    }
                }
            },
            options:input_data.data
            ,

        };

        map_chart.setOption(option);
    });
});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数据获取
  • 二、数据处理
  • 三、数据可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档