社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

CDA数据分析师 • 3 年前 • 484 次点击  

作者:俊欣

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


大家好,今天是周一,原本小编打算发布其他的原创文章,但是最近疫情又开始有了卷土重来的苗头,毕竟人命关天,所以今天小编打算用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
 
484 次点击