站点图标 AI技术聚合

基于Python的疫情数据可视化(matplotlib,pyecharts动态地图,大屏可视化)

基于Python的疫情数据可视化

有任何学习问题可以加我微信交流哦!bmt1014

1、项目需求分析

1.1背景

2020年,新冠肺炎疫情在全球范围内爆发,给人们的健康和生命带来了严重威胁,不同国家和地区的疫情形势也引起了广泛的关注。疫情数据的监测和分析对疫情防控和科学防治至关重要。本报告以疫情数据为基础,通过可视化数据分析的方式,呈现了全球和国内疫情的发展趋势和变化情况,帮助人们更加直观、全面地了解疫情的实际情况,为全社会、政府和民众做好疫情防控和处置提供参考依据。

1.2数据来源

这个数据是从世界卫生组织(WHO)网站上获取的,包含了截至特定日期全球范围内COVID-19病例和死亡人数的统计数据。
数据特征说明:
Date_reported:报告日期
Country_code:国家/地区缩写代码
Country:国家/地区名称
WHO_region:世卫组织区域
New_cases:新确诊病例数
Cumulative_cases:累计确诊病例数
New_deaths:新死亡人数
Cumulative_deaths:累计死亡人数
这些变量提供了有关全球COVID-19疫情的基本统计信息。对于每个国家,报告日期、累计和每日新增病例数和死亡人数都提供了详细的统计数据
部分数据如图:

1.3具体目标

[任务1]使用基本图展示中国疫情状况
[任务2]使用折线图展示五常国新增确诊趋势
[任务3]使用动图展示每天新增确诊数TOP10国家
[任务4]使用环形图展示七大洲疫情状况
[任务5]使用动态地图展示全球每个月新增人数
[任务6]使用大屏可视化作图分析

2、总体设计

2.1本次实验所用环境

(1)windows10系统
(2)PyCharm Community Edition 2022.2.1软件
(3)Python版本: 3.8
(4)Anaconda和Jupyter Notebook

2.2 可视化方案

1、对任务一、二、三采用matplotlib可视化库对疫情数据作展示,主要有柱状图、折线图、条形图、环形图。
2、对任务四、五、六采用pyecharts可视化库,主要有动态地图、以及饼图,柱状图等其他基本图形作大屏可视化展示。

3、详细设计

任务一 使用基本图展示中国疫情状况

(1)拟采用的技术
拟采用motplotlib的柱状图绘制功能展示我国疫情的柱状图;为了便于数据观察,分别采用了我国各省的感染人数条形图和我国总体感染人数和死亡人数柱状图
(2)任务一源程序

任务二 使用折线图展示五常国新增确诊趋势

(1)拟采用的技术
拟采用motplotlib的柱状图绘制功能展示五常国家疫情的趋势折线图;为了便于数据观察,分别采用了五个颜色和折现展示疫情趋势。
(2)源程序

任务三 使用动图展示每天新增确诊数TOP10国家

(1)拟采用的技术
这段代码主要利用了Pandas库对数据进行处理和分析,利用Matplotlib库绘制图表,并利用Matplotlib动画功能展示数据的变化过程,同时使用了datetime库进行日期和时间处理,以及字符串格式化功能将数据格式化成指定的字符串格式。
(2)源程序

任务四 使用环形图展示七大洲疫情状况
子任务1:使用环形图展示七大洲疫情状况

(1)拟采用的技术
这段代码主要利用了Pandas库对数据进行处理和分析,利用Matplotlib库绘制图表,并利用Matplotlib子图和圆环功能展示多个环形图,同时使用了字典和Lambda函数进行数据处理,以及字符串格式化功能将数据格式化成指定的字符串格式。
(2)源程序

子任务2:使用玫瑰图展示世界前十名国家死亡率玫瑰图

(1)拟采用的技术
拟采用Pandas库对数据进行处理和分析,利用pyecharts库绘制图表,使用pyecharts库绘制南丁格尔玫瑰图,通过set_series_opts方法设置扇形的属性,最终生成可视化图表。在绘图过程中,还使用了一些pyecharts库提供的选项,如设置内外半径比例、图表中心位置、南丁格尔玫瑰图的类型等
(2)源程序


任务五:使用动态地图展示全球每个月新增人数

(1)拟采用的技术
主要利用Map地图和Timeline时间轴两种图表类型,将每个国家的新增人数展现在地图上,并通过时间轴实现数据的动态展示功能。
代码中使用pandas库对CSV文件进行读取和数据处理,进一步利用numpy库、datetime库、collections库、matplotlib库等处理数据和绘制图表;使用pyecharts库创建Map和Timeline图表并配置相应的参数,最终生成可交互的HTML网页。
具体实现过程为:首先读取CSV文件,并删除不必要的列信息,随后对数据进行清洗和处理得到每个月份各国家的新增确诊人数信息;然后,利用pyecharts库中的Map和Timeline类别函数进行地图和时间轴图表的创建,并通过add()方法添加相应的数据序列, add_schema()方法和set_global_opts()方法设置相关的全局参数进行控制。最终,组合成一个时间轴对象,从而实现动态图表的展示效果。
(2)源程序

任务六:使用大屏可视化作图分析

(1)拟采用的技术
主要通过柱状图、地图、饼图、折线图、漏斗图等多种形式展现疫情数据的不同维度和特征,首先通过pandas库读取3个CSV文件,包括每日新增确诊人数、累积确诊人数以及WHO公布的全球疫情数据。然后,通过pyecharts库实现了6个图表的可视化。

4、运行结果与结果分析

任务一 使用基本图展示中国疫情状况

(1)运行结果

(2)结果分析
条形图展示我国1月26日当天全国各省感染人数条形图,可见当日湖北感染人数众多,其余省份均在200人以下
(1)运行结果

(2)结果分析
使用柱状堆叠图制我国2月疫情柱状图,蓝色部分为感染人数,橙色部分为死亡人数。从数据中说明感染人数逐日增加,增幅较大。死亡人数增幅较小,说明我国疫情2月传播控制较差,但死亡人数控制的较好。

任务二 使用折线图展示五常国新增确诊趋势

(1)运行结果

(2)结果分析
图中显示了2020年1月22日到2020年3月22日间,五常国家的疫情新增确诊人数的趋势图。图中展示了在1-3月期间中国的疫情新增幅度最大。其余四个国家增幅较慢,但在2020年3月8日后开始迅速增加。

任务三 使用动图展示每天新增确诊数TOP10国家

(1)运行结果

(2)结果分析
此图展示的是2020/3/20日和2020/3/22日全球新冠疫情新增感染数排名前十的国家,可以看出感染趋势是逐渐上涨的

任务四 使用环形图展示七大洲疫情状况

子任务1:使用环形图展示七大洲疫情状况
(1)运行结果

(2)结果分析
此图展示了七大洲国家的疫情情况环形图,有新增感染率、痊愈率和死亡率。可以看到亚洲国家的痊愈率相较其他洲是比较高的
子任务2:玫瑰图展示死亡率前十国家
(1)运行结果

(2)结果分析
此图展示了全世界死亡率排名前十的国家,此数据是截止到2020年三月份的数据,所以可以看到中国的死亡率较高

任务五 使用动态地图展示全球每个月新增人数

(1)运行结果

(2)结果分析
通过该动态地图,我们可以清楚地观察到整个2020年全球COVID-19的各国新增确诊人数的变化趋势。由于该地图是按月份展示,因此我们可以看到在不同的月份里,哪些国家的新增人数较多,哪些国家较少,以及某些疫情爆发严重的国家的疫情是否有所缓解等。此外, 你还可以放置鼠标在相应的国家上,查看它的具体新增确诊人数。

任务六 使用大屏可视化作图分析

(1)运行结果

(2)结果分析
新增确诊人数柱状图(时间轴):该图表用来展示自 2020.01.22 至 2020.03.33 期间的每日新增确诊人数,并且每隔三天对新增人数进行一次累计。通过观察这张图表,我们可以看出新冠病毒传播速度的快慢以及其传播高峰期的发生时间。
累计确诊、死亡和治愈人数柱状图:该图表用来展示不同国家的累计确诊、死亡和治愈人数情况。通过比较各国的数据,我们可以得到这些国家在全球疫情中的贡献情况。
各国新增病例地图(时间轴):该图表通过地图展示了自 2020.01.02 起,全球每个月的新增病例数。通过这张地图,我们可以知道自疫情爆发起,全球的新增病例在不断扩散,趋势比较明显,且欧美地区新增病例数明显高于亚洲地区。

5、项目结论与建议

通过对新冠肺炎疫情数据的处理和分析,得出了以下结论:
使用Python的数据可视化库Pyecharts对COVID-19疫情数据集进行了可视化展示。通过基本图、折线图、动图、环形图和地图等多种视图工具,直观地展现了中国、五常国、七大洲以及全球每个月新增确诊人数的疫情状况。
在制作可视化时,需要根据不同的任务选择合适的可视化方式。比如展示中国疫情状况时可以采用柱状图或堆叠图,而使用折线图可以清晰的展示五常国新增确诊趋势。使用动图来展示每天新增确诊数TOP10国家则可以更好地体现数值变化和差异;使用环形图展示七大洲疫情状况能一目了然地比较不同大洲的疫情情况;使用动态地图展示全球每个月新增人数,容易发现不同国家新增确诊人数的空间分布状态。

6、大作业心得与体会

在处理大规模数据集时,需要仔细思考要表达什么样的信息,并根据信息的类型选择符合需求的可视化方式。
使用 Pyecharts 能够快速创建许多类型繁多的图形,其图形美观大方,操作简单,既方便业余爱好者进行数据分析,也能帮助数据科学家快速展示洞见。
在制作过程中,注意美观和简洁结合的原则。如果图表上有太多信息,可能会导致视觉上的混淆。因此要确保视觉设计清晰、易于理解,并注意缩放比例、标签大小等细节。

文章出处登录后可见!

已经登录?立即刷新
退出移动版