课堂练习-全国疫情统计可视化地图(代码片段)

zwx655 zwx655     2023-04-14     576

关键词:

1 第一阶段目标:
导入全国疫情数据库payiqing.sql(MySQL数据库)。
可以按照时期查询各个省市的疫情统计表格。
以折线图或柱状图展示某天的全国各省的确诊人数。

1.首先完成数据库的导入,然后编写数据库代码。建立DBUtil.java。实现相关数据的查询,并转化为json,以供Echart柱状图获取数据使用。

package dbutil;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import javabeen.Things;

public class DButil 
    //数据库URL和账号密码
        public static final String connectionURL="jdbc:mysql://localhost:3306/keshi?useUnicode=true&characterEncoding=GB18030&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true";
        public static final String username="root";
        public static final String password="123456";
        static Connection connection;
        static ResultSet rSet;
        static PreparedStatement sql;
        //数据库连接
        public static Connection getConnection()
        
            try 
                Class.forName("com.mysql.cj.jdbc.Driver");
                return DriverManager.getConnection(connectionURL, username, password);
             catch (Exception e) 
                // TODO: handle exception
                System.out.println("数据库连接失败");
                e.printStackTrace();
            
            return null;
                                                           
        public static String search(String  date)//
        
            try 
        
                connection=getConnection();
                sql=connection.prepareStatement("select * from info where Date like ‘"+date+"%‘ and  City=‘‘");
                System.out.println(sql);
                rSet=sql.executeQuery();
                //ArrayList<Things> list =new ArrayList<>();
                
                JSONArray jsonArray=new JSONArray();
                while(rSet.next())
                
                    //System.out.println(rSet.getString(3));
                    JSONObject json=new JSONObject();
                    json.put("name",rSet.getString(3) );
                    json.put("num", rSet.getString(5));
                    json.put("yisi",rSet.getString(6));
                    json.put("cure", rSet.getString(7));
                    json.put("dead", rSet.getString(8));
                    json.put("code", rSet.getString(9));
                    jsonArray.add(json);
                
                return jsonArray.toString();
             catch (Exception e) 
                // TODO: handle exception
                return null;
            
            
        
//        public static void main(String[] args) 
//            search("2020-02-12");
//        

2.建立selvlet,接收jsp中的时间数据,并通过调用DBUtil中的方法获取数据并传回到jsp

package selvlet;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSONArray;

import dbutil.DButil;
import javabeen.Things;

/**
 * Servlet implementation class Selvletsearch
 */
@WebServlet("/Selvletsearch")
public class Selvletsearch extends HttpServlet 
    private static final long serialVersionUID = 1L;
  
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
         
    

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
        // TODO Auto-generated method stub
        //doGet(request, response);
         request.setCharacterEncoding("utf-8");
         response.setContentType("text/html;charset=UTF-8");
           // String date=request.getParameter("date");
            response.getWriter().write(DButil.search(request.getParameter("date")));
    

3.main.jsp 界面,实现柱状图的答印和各个地区疫情情况的数据的表格打印

<%@page import="com.alibaba.fastjson.JSON"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 <script src="echarts.min.js"></script>
 <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
 <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
 <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
<style>
            #one
                /*border: 1px solid black;*/
                width: 1000px;
                height:auto;
                background-color: ghostwhite;
                margin: auto;
            
            #main
            width:1000px;
            height:outo;
            background-color: ghostwhite;
            margin: auto;
            
            .table
            
            margin: auto;
            
</style>
</head>
<body>
        <div id="one">
            请输入时间:<input type="text" name="date" id="date" />      
             <input type="submit" value="查询" onclick="search()">
        </div>
        <br/>
<div id="main" style="width: 100%;height:400px;overflow: auto;"></div>
<table class="table">
        <thead class="head">
            </thead>
        <tbody class="main"></tbody>
    </table>
<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById(main));
       
        // 指定图表的配置项和数据
        myChart.showLoading();
        function search() 
            var date=$("#date").val();
           alert("查找成功");
            $.post(
                Selvletsearch,
                date:date,
                function(msg)
                    var json=JSON.parse(msg);
                    var size=json.length;
                    var names=[];
                    var nums=[];
                    for(i=0;i<size;i++)
                        names.push(json[i].name);
                        nums.push(json[i].num);
                        i++;
                    
                    myChart.hideLoading();
                    var option = 
                            title: 
                                text: $("input[name=date]").val()+确诊人数
                            ,
                            tooltip: ,
                            legend: 
                                data:[确诊人数]
                            ,
                            xAxis: 
                                data: names
                            ,
                            yAxis: ,
                            series: [
                                name: 确诊人数,
                                type: bar,
                                data: nums
                            ]
                        ;
                  myChart.setOption(option);
                  tr="<tr><th>省份</th><th>确诊人数</th><th>疑似人数</th><th>治愈人数</th><th>死亡人数</th><th>编码</th></tr>";
                  $(.head).append(tr);
                  for(i=0;i<size;i++)
                      $(.main).append("<tr></tr>");
                  $(.main tr).each(function(i)
                      $(this).append("<td>"+json[i].name+"</td>");
                      $(this).append("<td>"+json[i].num+"</td>");
                      $(this).append("<td>"+json[i].yisi+"</td>");
                      $(this).append("<td>"+json[i].cure+"</td>");
                      $(this).append("<td>"+json[i].dead+"</td>");
                      $(this).append("<td>"+json[i].code+"</td>");
                  )
           
                ,
               //"json"
                );
            
        
     
   </script>              
</body>
</html>

实验结果:

技术图片

 

全国疫情统计可视化地图(代码片段)

      第三阶段是数据下钻,要求点击省可以下钻到各个地市的数据显示。  1:首先,要显示相应的地图需要导入相应的js上一篇文章中分享的链接同样包含各个省份的js 链接:https://pan.baidu.com/s/1MF... 查看详情

python根据json数据画疫情分布地图(代码片段)

...录一.基础地图使用1.掌握使用pyecharts构建基础的全国地图可视化图表二.疫情地图——国内疫情地图1.案例效果代码三.疫情地图——省级疫情地图 四.数据集 注:数据集在文章最后一.基础地图使用1.掌握使用pyecharts构建基础... 查看详情

全国疫情可视化统计(代码片段)

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><!DOCTYPEhtml><html><head><metacharset="utf-8"><title&... 查看详情

全国疫情防控监控平台开发

...包括疫情动态,疫情地图,实时疫情图表,疫情数据统计可视化界面,定点医院的追踪,定点医院信息管理,新闻资讯的展示,分类管理,疫情数据的上报和展示,用户登陆登出,信息及权限的管理,实时天气预报等功能。前端... 查看详情

简单几行代码实现全国疫情数据可视化(python课程设计)(代码片段)

...面我们通过python对疫情数据进行一个简单的爬取整理以及可视化。#导入模块importpandasaspdimportrequests#首先这是爬取数据和整理数据我们需要用到的第三方库,疫情数据来自腾讯新闻#实时更新:新冠肺炎疫情最新动态https://... 查看详情

使用springboot+mybatisplus+echarts+mysql从0-1完成中国疫情地图可视化动态展示(代码片段)

最近北京疫情也严重了起来,突然想到了这个动态的echarts全国疫情数据动态展示,做的不好仅供参考前言:用到的技术栈:Springboot+MybatisPlus+Echarts+Mysql1创建数据库表和新增基本的数据方便大家使用我直接导出了.直接运行即... 查看详情

用python爬取全国和全球疫情数据,并进行可视化分析(过程详细代码可运行)(代码片段)

...何爬取实时疫情数据,并且分析数据,作出数据可视化的效果。报告梗概:对中国疫情分析1.1展示各省疫情具体情况(包括各省的城市)1.2找出国内新增疫情的城市1.3展示各省这次疫情感染的总人数1.4绘制中... 查看详情

全球疫情形势动态地图展示(超帅超好玩的python动图)(代码片段)

全球疫情及疫苗接种进度可视化之一--全球疫情形势动态地图展示安装plotly库全球疫情形势定义工具函数抽取数据绘制动态图表重抽样数据抽取、整理与可视化展示抽取原始数据按周重抽样确诊病例治愈病例死亡病例全国疫情及... 查看详情

数据大屏python爬取全国及北京疫情数据实现可视化大屏(代码片段)

前言Python:print("Python祝程序员元旦快乐!")PHP:echo"PHP祝程序员元旦快乐!";JavaScript:document.write("JavaScript祝程序员元旦快乐!")Go:fmt.Printf("Go祝程 查看详情

实战篇39#如何实现世界地图的新冠肺炎疫情可视化?(代码片段)

说明【跟月影学可视化】学习笔记。世界地图新冠肺炎疫情可视化下面将实现世界地图新冠肺炎疫情可视化。数据用的是从2020年1月22日到3月19日这些天的新冠肺炎疫情进展。效果类似下图:https://covid19.who.int/步骤一:准... 查看详情

毕业设计-题目:基于大数据的疫情数据分析及可视化系统(代码片段)

...#xff0c;这里是丹成学长,今天做一个基于大数据的疫情可视化系 查看详情

全国疫情数据可视化展示(详细介绍,含完整源码)

一、全国疫情数据爬取1.数据表共有两个,分别为details和history,表结构如下:2.爬取全国疫情数据代码如下:importrequestsimportjsonimporttimeimportpymysqlimporttracebackdefget_details 查看详情

毕业设计大数据全国疫情数据分析与3d可视化-python大数据(代码片段)

...#xff0c;今天要分享的是🚩大数据全国疫情数据分析与3D可视化🥇学长这里给一个题目综合评分(每项满分5分)难度系数:2分工作量:3分创新点:4分🧿选题指导,项目分享:https://gitee.com/dancheng-senior/project-... 查看详情

毕业设计大数据全国疫情数据分析与3d可视化-python大数据(代码片段)

...#xff0c;今天要分享的是🚩大数据全国疫情数据分析与3D可视化🥇学长这里给一个题目综合评分(每项满分5分)难度系数:2分工作量:3分创新点:4分🧿选题指导,项目分享:https://gitee.com/dancheng-senior/project-... 查看详情

数据大屏python爬取全国及北京疫情数据实现可视化大屏(代码片段)

...家又收获多少?Python爬取全国及北京疫情数据、实现可视化大屏每一个企业向“云”端加速转型,他们同时利用“云”便捷、灵活、安全且前期投资少的优势,快速地实现价值,然后再扩大规模。对于我们个人来... 查看详情

实战篇39#如何实现世界地图的新冠肺炎疫情可视化?(代码片段)

说明【跟月影学可视化】学习笔记。世界地图新冠肺炎疫情可视化下面将实现世界地图新冠肺炎疫情可视化。数据用的是从2020年1月22日到3月19日这些天的新冠肺炎疫情进展。效果类似下图:https://covid19.who.int/步骤一:准... 查看详情

django入门教程,练习做个疫情可视化地图

Django是Python web框架,发音 [ˈdʒæŋɡo] ,翻译成中文叫“姜狗”。为什么要学框架?其实我们自己完全可以用Python代码从0到1写一个web网站,但那样就要写网络服务、数据库读写等底层代码。而框架的作用是把这... 查看详情

pythonpyecharts数据可视化模块(代码片段)

文章目录1.pyecharts模块介绍2.pyecharts模块安装3.pyecharts配置选项3.1全局配置选项3.2系列配置选项4.基础折线图的构建4.1基本使用流程4.2实现2020年美印日确诊人数对比折线图5.基础地图构建5.1基本使用流程5.2实现国内疫情地图5.3实现... 查看详情