zoukankan      html  css  js  c++  java
  • 全国疫情统计可视化地图-第二、三阶段

    第二阶段目标:疫情统计地图可视化:可以通过地图的形式来直观显示疫情的大致分布情况,还可以查看具体省份的疫情统计情况。在全国地图上使用不同的颜色代表大概确诊人数区间,颜色的深浅表示疫情的严重程度,可以直观了解高危区域;鼠标移到每个省份会高亮显示、点击鼠标会显示该省具体疫情情况、点击某个省份显示该省疫情的具体情况、显示该省份对应的感染患者人数、疑似患者人数、治愈人数、死亡人数;确诊人数。

    第三阶段目标:鼠标移到每个市会高亮显示,并且显示简单的数据;数据下钻:单击各个省可以下钻到各个地市的数据显示

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4   <meta charset="UTF-8">
      5   <meta name="viewport" content="width=device-width, initial-scale=1.0">
      6   <title>疫情地图展示</title>
      7   <style>
      8     .container {
      9        1200px;
     10       margin: 0 auto;
     11     }
     12 
     13     #myEcharts {
     14        800px;
     15       height: 500px;
     16       border: solid 1px red;
     17       margin: 0 auto;
     18     }
     19   </style>
     20   <script src="https://www.echartsjs.com/examples/vendors/jquery/jquery.js"></script>
     21   <!-- 引入 echarts.js -->
     22   <script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js?_v_=1578305236132"></script>
     23   <!--引入中国的地图数据js文件,引入后会自动注册地图名字和数据-->
     24   <script src="https://www.echartsjs.com/examples/vendors/echarts/map/js/china.js?_v_=1578305236132"></script>
     25 
     26 </head>
     27 
     28 <body>
     29   <div class="container">
     30     <h3>累计确诊人数如下:</h3>
     31     <!--为echarts准备一个dom容器-->
     32     <div id="myEcharts"></div>
     33   </div>
     34 
     35 
     36   <script>
     37     //初始化echarts实例
     38     var myChart = echarts.init(document.getElementById('myEcharts'));
     39     // 指定图表的配置项和数据
     40     option = {
     41       title: {
     42         text: '中国疫情图',
     43         left: 'center'
     44       },
     45       tooltip: {
     46         trigger: 'item'
     47       },
     48       legend: {
     49         orient: 'vertical',
     50         left: 'left',
     51         data: ['中国疫情图']
     52       },
     53       visualMap: {
     54         type: 'piecewise',
     55         pieces: [
     56           { min: 1000, max: 1000000, label: '大于等于1000人', color: '#372a28' },
     57           { min: 500, max: 999, label: '确诊500-999人', color: '#4e160f' },
     58           { min: 100, max: 499, label: '确诊100-499人', color: '#974236' },
     59           { min: 10, max: 99, label: '确诊10-99人', color: '#ee7263' },
     60           { min: 1, max: 9, label: '确诊1-9人', color: '#f5bba7' },
     61         ],
     62         color: ['#E0022B', '#E09107', '#A3E00B']
     63       },
     64       toolbox: {
     65         show: true,
     66         orient: 'vertical',
     67         left: 'right',
     68         top: 'center',
     69         feature: {
     70           mark: { show: true },
     71           dataView: { show: true, readOnly: false },
     72           restore: { show: true },
     73           saveAsImage: { show: true }
     74         }
     75       },
     76       roamController: {
     77         show: true,
     78         left: 'right',
     79         mapTypeControl: {
     80           'china': true
     81         }
     82       },
     83       series: [
     84         {
     85           name: '确诊数',
     86           type: 'map',
     87           mapType: 'china',
     88           roam: false,
     89           label: {
     90             show: true,
     91             color: 'rgb(249, 249, 249)'
     92           },
     93           data: []
     94         }
     95       ]
     96     };
     97 
     98     //使用指定的配置项和数据显示图表
     99     myChart.setOption(option);
    100 
    101     //获取数据
    102     function getData() {
    103       $.ajax({
    104         url: "https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5",
    105         dataType: "jsonp",
    106         success: function (data) {
    107           //  console.log(data.data)
    108           var res = data.data || "";
    109           res = JSON.parse(res);
    110           var newArr = [];
    111           //newArr的数据格式为:
    112           // [{
    113           //   name: '北京11',
    114           //   value: 212
    115           // }, {
    116           //   name: '天津',
    117           //   value: 60
    118           // }]
    119           if (res) {
    120             //获取到各个省份的数据
    121             var province = res.areaTree[0].children;
    122             for (var i = 0; i < province.length; i++) {
    123               var json = {
    124                 name: province[i].name,
    125                 value: province[i].total.confirm
    126               }
    127               newArr.push(json)
    128             }
    129             console.log(newArr)
    130             console.log(JSON.stringify(newArr))
    131             //使用指定的配置项和数据显示图表
    132             myChart.setOption({
    133               series: [
    134                 {
    135                   name: '确诊数',
    136                   type: 'map',
    137                   mapType: 'china',
    138                   roam: false,
    139                   label: {
    140                     show: true,
    141                     color: 'rgb(249, 249, 249)'
    142                   },
    143                   data: newArr
    144                 }
    145               ]
    146             });
    147           }
    148         }
    149 
    150       })
    151     }
    152     getData();
    153 
    154   </script>
    155 </body>
    156 </html>
    Echarts.jsp

  • 相关阅读:
    windows 开发 数据模版 Itemtemp
    windows 8 获取用户账号信息
    从客户端中检测到有潜在危险的 Request.Form 值解决方法
    asp.net异步处理
    知道web.config 中的 urlMappings怎么用?
    .net c#日期时间函数大全
    设计模式学习心得之工厂类模式(一)简单工厂模式
    远程网页内容抓取
    TreeView数据绑定的方法(1)
    URLRewriter.dll asp.net伪静态
  • 原文地址:https://www.cnblogs.com/chenaiiu/p/13082322.html
Copyright © 2011-2022 走看看