基于Echarts的疫情数据可视化技术研究

来源:期刊VIP网所属分类:期刊常识发布时间:2021-01-04浏览:

  作者:朱二莉; 宋智鸿; 戈梦宇

  摘要:文中首先对疫情数据可视化的项目需求进行了背景分析,接着介绍了项目的总体设计思路,然后具体阐述了疫情数据库的设计、疫情数据的查询、疫情数据的展示,并分析了核心代码。文中利用MySQL数据库存放从官网爬取的疫情数据,使用PHP技术查询MySQL数据库中的疫情数据,实现网页和数据库的动态交互,利用Echarts图表技术进行疫情数据的可视化,制作了疫情折线图,用来展示疫情近期的变化趋势,制作了疫情柱形图,用来展示各个国家的疫情对比情况,让民众更加直观清晰地获取关键的疫情信息、了解疫情形势、判断疫情走势,为疫情防控提供直观、形象的数据支持。

  关键词:疫情数据查询及可视化、Echarts图表、MySQL数据库、PHP技术

大数据论文

  1背景

  2020年,新冠病毒肆虐。疫情发生以来,全国上下步调一致、众志成城、共抗疫情。全民抗疫的同时,民众需要一个能够查看当前疫情数据的渠道,以此充分了解全国各地乃至全世界的疫情形势。本文综合运用PHP技术、MySQL数据库技术、Echarts图表技术,制作疫情趋势图和疫情对比图,用可视化的方式直观形象地呈现疫情数据,让民众更加直观清晰地获取关键的疫情信息。

  2设计思路

  折线图和柱形图,是最常见的疫情数据可视化的方式。折线图容易看出数据的走向,因此适合展示疫情近期的变化趋势,而通过柱形图则可以直观地看出各个国家的疫情对比情况。项目的设计思路如下:

  (1)从丁香园网站爬取疫情数据,并利用MySQL数据库技术存放每天爬取的疫情数据;

  (2)使用PHP技术实现网页后端和MySQL数据库的动态交互,从数据中查询疫情数据,并输出到网页前端;

  (3)在网页前端使用Echarts折线图展示疫情变化趋势,使用柱形图展示各个国家疫情对比情况[1]。

  3数据查询

  3.1数据库设计

  在MySQL数据库中新建一个疫情数据库data,在data中新建疫情数据表格summary;把从官网爬取的全世界的疫情数据导入到data数据库的summary表中。summary表中包含的字段有:countryName(国家名称)、current(现存确诊人数)、accumulate(累计确诊总人数)、healing(治愈总人数)、die(死亡总人数)、time(时间)。

  3.2连接数据库

  编写PHP文件link.php文件,存放在网站目录的conn子目录下。该文件负责连接data数据库,核心代码如下[2]:

  $dbconn=mysqli_connect("localhost","Tom","123456") or die('服务器连接失败!'); //连接MySQL服务器,登录名为Tom,密码为123456。

  mysqli_select_db($dbconn,data') or die('疫情数据库连接失败!'); //选择数据库

  mysqli_set_charset($dbconn,"utf8");//设置字符集为中文utf8标准

  date_default_timezone_set("PRC");//设置时区为东八区北京时间

  3.3 查询近期中国疫情数据

  编写PHP文件trend.php,查询中国近期疫情数据,核心代码如下所示:

  require "./conn/link.php"; //导入数据库连接文件link.php

  $query="select * from summary where countryName='中国' order by time"; //定义一个SQL语句,该语句可以从summary表中查询中国近期疫情数据,并按照时间进行升序排列。

  $result = mysqli_query($dbconn,$query); //執行查询语句获得结果集,结果集中存放的是中国的疫情数据,包括了国家名,现存确诊人数、累计确诊总人数、治愈总人数、死亡总人数、时间。

  while($info= mysqli_fetch_array($result)){ //从结果集中逐行读取中国近期疫情数据,写入到数组中。创建数组的时候,每一个疫情信息对应的键分别是countryName 、current、accumulate、healing、die、time。

  $yq []= array(

  'current'=>$info['current'], //从结果集中读取现存确诊,写入数组

  ' accumulate '=>$info[' accumulate '], //从结果集中读取累计确诊,写入数组

  ' healing '=>$info[' healing '], //从结果集中读取治愈总人数,写入数组

  'die'=>$info['die'], //从结果集中读取死亡总人数,写入数组

  'time'=>$info['time'] //从结果集中读取时间,写入数组

  ); }

  $yqdata=json_encode($yq); //把疫情数组转换为json格式的数据

  echo $yqdata; //把json格式的疫情数据输出到网页前端

  推荐阅读:论抗击疫情中公共管理主体的影响

本文由期刊VIP网编辑首发,您身边的高端学术顾问

文章名称: 基于Echarts的疫情数据可视化技术研究

文章地址: http://www.qikanvip.com/write/54940.html

《基于Echarts的疫情数据可视化技术研究》内容如果没能解决您的问题,可免费咨询在线学术顾问获取解答。