Py学习  »  Python

疫情卷土重来?Python可视化带你追踪疫情的最新动态

CDA数据分析师 • 2 年前 • 249 次点击  

作者:俊欣

来源:关于数据分析与可视化


大家好,今天是周一,原本小编打算发布其他的原创文章,但是最近疫情又开始有了卷土重来的苗头,毕竟人命关天,所以今天小编打算用Python可视化来追踪一下当下疫情的最新动态,也希望大家在外能够注意安全,戴好口罩

最新的动态

根据最新的消息,本土现有的确诊483例,较昨日增加了59例,其中无症状感染者较昨日增加了24例,境外输入较昨日增加了33例,其中上海9例,浙江8例,云南4例
31个省区市的本土病例中,内蒙古的阿拉善盟确诊病例最多,有143例,其次便是黑龙江的黑河与甘肃的兰州,确诊病例分别有79例和68例,具体看下图
category_list = ["黑龙江-黑河""河北-石家庄""甘肃-兰州""甘肃-天水""内蒙古-阿拉善盟""宁夏-银川""河北-保定""黑龙江-哈尔滨""江西-九江",
                 "山东-日照""浙江-杭州""青海-西宁""内蒙古-锡林郭勒"]
num_list1 = [79, 8, 68, 15, 143, 21, 2, 3, 1, 10, 1, 4, 16]

bar = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.SHINE))
    .add_xaxis(category_list)
    .add_yaxis("不同省份", num_list1)
    .set_global_opts(title_opts=opts.TitleOpts(title="近期31省市的本土病例"),
                     xaxis_opts=opts.AxisOpts(axislabel_opts = opts.LabelOpts(rotate=30)))
)

bar.render("yiqing_location.html")

output

我们要是放到全省的确诊病例来看的话,内蒙古、黑龙江以及甘肃的确诊病例是最多的,当然大家也可以看到中国的台湾省颜色是最深的,当然这是另外一回事儿了,
provinces = ["黑龙江""甘肃""上海""浙江""河北""内蒙古""台湾""云南""山东",
             "福建""四川""宁夏""香港""江西""重庆""广西""青海""湖北""广东",
             "江苏""河南""湖南""北京""安徽""新疆""陕西""吉林""天津""辽宁""山西",
             "海南""贵州""澳门""西藏"]

num = [84, 105, 62, 52, 13, 172, 1823, 83, 35, 22, 13, 33, 99, 2, 1, 35,
       5, 12, 32, 3, 22, 7, 38, 0, 0, 21, 3, 13, 7, 0, 0, 11, 4, 0]

c = (
    Map(init_opts=opts.InitOpts(theme=ThemeType.SHINE))
    .add("不同省份", [list(z) for z in zip(provinces, num)], "china")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="不同省份的疫情确诊情况"),
        visualmap_opts=opts.VisualMapOpts(max_=180, is_piecewise=True),
    )
    .render("map_visualmap_piecewise.html")
)

output

然后我们通过Pyecharts当中的Tab组件将上面绘制的两张图组合成可视化大屏,需要注意的是,需要将上面的代码整合成函数
def generate_bar():
    category_list = ["各个省份城市"]
    num_list1 = ["对应的数据"]

    bar = (
        Bar(init_opts=opts.InitOpts(theme=ThemeType.SHINE))
        .add_xaxis(category_list)
        .add_yaxis("不同省份", num_list1)
        .set_global_opts(title_opts=opts.TitleOpts(title="近期31省市的本土病例"),
                         xaxis_opts=opts.AxisOpts(axislabel_opts = opts.LabelOpts(rotate=30)))
    )

    return bar
    
def generate_map():

    provinces = ["各个省份....."]

    num = ["各个省份对应的数据"]

    map = (
        Map(init_opts=opts.InitOpts(theme=ThemeType.SHINE))
        .add("不同省份", [list(z) for z in zip(provinces, num)], "china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="不同省份的疫情确诊情况"),
            visualmap_opts=opts.VisualMapOpts(max_=180, is_piecewise=True),
        )
    )
    return map
    
tab = Tab()
tab.add(generate_bar(), "不同省市的确诊病例")
tab.add(generate_map(), "全国不同省份的确诊病例")
tab.render("test.html")

output

预防须知

  • 保持个人卫生,打喷嚏或者咳嗽时应用纸巾掩盖口鼻,把用过的纸巾弃置于有盖垃圾箱内,然后彻底清洁双手

  • 减少前往人流密集的场所。如不可避免,应佩戴外科口罩

  • 如有身体不适,特别是有发烧或者咳嗽,应佩戴上外科口罩,并尽快就诊


 


点这里👇关注我,记得标星哦~



 

推荐阅读

 

CDA课程咨询

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/122302
 
249 次点击