ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

基于大数据的疫情数据分析及可视化系统

2022-10-05 15:47:41  阅读:202  来源: 互联网

标签:


1 前言

Hi,大家好,这里是丹成学长,今天做一个 基于大数据的疫情可视化系统,这只是一个demo,尝试对疫情数据进行分析,并可视化系统

毕设帮助,开题指导,资料分享,疑问解答(见文末)

2 开发简介

学长从各省累计确诊人数随时间增长的态势以及空间分布随时间增长的态势入手,利用所收集的数据将各省累计确诊人数的时空分布用地图、折线图、堆叠条形图的形式呈现出来,从总体态势进行大致分析,然后再通过在不同粒度上展示各省疫情相关的详细信息,以发现其在不同时间段影响其态势变化的原因(境外输入、相关政策颁布等)。

同时还将疫情相关确诊、死亡等数据与各省的GDP、受教育程度、城镇化率、医疗卫生水平进行联系,以发现其与GDP、受教育程度、城镇化率之间是否存在关系。

其目标用户是政府等防控机关,通过本系统可以分析疫情时空分布模式、监控疫情发展态势、评估疫情防控措施。

3 数据集

数据源于爬虫与手动搜集:

weibo.json 新浪微博实时热搜前50的数据

ProvinceData.json 省市疫情详情

源于中国国家统计局(2018年中国统计年鉴)的数据

2020-01-10至2020-02-06数据来自国家,各省,武汉市卫健委疫情公告,2020-02-07后数据从今日头条接口采集 境外输入数据(手动从网上新闻中搜集)

4 实现技术

4.1 系统架构

4.2 开发环境

  • 1、Node.js(前端Vue和后端node都依赖该环境) 2、开发工具:Git,vscode,Hbuilder,pycharm 3、开发语言:Python,HTML+CSS+JavaScript 4、重点依赖库:echarts,bootstrap,jQuery

4.3 疫情地图

4.3.1 填充图(Choropleth maps)

  • 填充图适合表达区域之间的差异。 填充图能够很好的展现形全局差异,细微的差异很难表达。 但填充图的展现效果受区域面积影响比较大,容易形成误导

4.3.2 气泡图

气泡图使用不同大小的圆圈表示区域上的数值。它在每个地理坐标上显示一个气泡,或在每个区域显示一个气泡。

下图我们以气泡图形式进行疫情地图可视化

通过气泡图我们可以很明确的看出世界上疫情比较严重的国家,而且不会受到区域面积的干扰,欧洲一些面积比较小的国家我们也能够清晰的识别出来。气泡图表达方式缺点在于气泡过多,过大将会产生遮盖现在。 气泡是一种比较好的展现形式,如果使用方式不当也会产生干扰,比如数据映射方法选择,颜色色带选择都会影响数据表达的结果。

关键代码:

4.4 全国疫情实时追踪

全国疫情实时追踪页面,支持折线图、条形图、扇形图、地图热力图展示,图表由Echarts实现,支持左上角侧边栏跳转。

4.6 其他页面

5 关键代码

两个数据表

CREATE TABLE `history` (
  `ds` datetime NOT NULL COMMENT 日期,
  `confirm` int(11) DEFAULT NULL COMMENT 累计确诊,
  `confirm_add` int(11) DEFAULT NULL COMMENT 当日新增确诊,
  `suspect` int(11) DEFAULT NULL COMMENT 剩余疑似,
  `suspect_add` int(11) DEFAULT NULL COMMENT 当日新增疑似,
  `heal` int(11) DEFAULT NULL COMMENT 累计治愈,
  `heal_add` int(11) DEFAULT NULL COMMENT 当日新增治愈,
  `dead` int(11) DEFAULT NULL COMMENT 累计死亡,
  `dead_add` int(11) DEFAULT NULL COMMENT 当日新增死亡,
  PRIMARY KEY (`ds`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `details` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `update_time` datetime DEFAULT NULL COMMENT 数据最后更新时间,
  `province` varchar(50) DEFAULT NULL COMMENT 省,
  `city` varchar(50) DEFAULT NULL COMMENT 市,
  `confirm` int(11) DEFAULT NULL COMMENT 累计确诊,
  `confirm_add` int(11) DEFAULT NULL COMMENT 新增治愈,
  `heal` int(11) DEFAULT NULL COMMENT 累计治愈,
  `dead` int(11) DEFAULT NULL COMMENT 累计死亡,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

最后 - 技术解答 - 毕设帮助

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有