结对第二次作业——某次疫情统计可视化的实现

结对第二次作业——某次疫情统计可视化的实现

这个作业属于哪个课程 2020春|S班(福州大学)
这个作业要求在哪里 作业要求
这个作业的目标 学习web
结对学号 <221701219,221701240>
作业正文 结对第二次作业——某次疫情统计可视化的实现
其他参考文献 echarts官网

一、作业内容

1. 功能1:实现通过地图的形式来直观显示疫情的大致分布情况,还可以查看具体省份的疫情统计情况。

在全国地图上使用不同的颜色代表大概确诊人数区间
RUNOOB 图标

颜色的深浅表示疫情的严重程度,可以直观了解高危区域;

鼠标移到每个省份会高亮显示;
RUNOOB 图标

鼠标放到左下上面会显示处于这个区间的省份
RUNOOB 图标

点击鼠标会显示该省具体疫情情况;
RUNOOB 图标

2. 功能2:点击某个省份显示该省疫情的具体情况

显示该省份对应的感染患者人数、疑似患者人数、治愈人数、死亡人数;
RUNOOB 图标
该省份到目前为止的新增确诊趋势、新增疑似趋势、治愈趋势和死亡趋势;
绘制该省份的趋势变化曲线图;

3. 重要代码

1)引入echarts
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>疫情地图展示</title>
  <style>
    #myEcharts {
      width: 1200px;
      height: 900px;
      border: solid 1px red;
      margin: 0 auto;
      background-color:#698fcc;
    }

  </style>
  <!-- 引入 echarts.js -->
  <script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js?_v_=1578305236132"></script>
  <!--引入中国的地图数据js文件,引入后会自动注册地图名字和数据-->
  <script src="https://www.echartsjs.com/examples/vendors/echarts/map/js/china.js?_v_=1578305236132"></script>

</head>

<body>
  <!--为echarts准备一个dom容器-->
  <div id="myEcharts"></div>
  <script>
    //初始化echarts实例
    var myChart = echarts.init(document.getElementById('myEcharts'));
    // 指定图表的配置项和数据
    option = {
      title: {
        text: '中国疫情图',
        left: 'center'
      },
      tooltip: {
        trigger: 'item'
      },
      legend: {
        orient: 'vertical',
        left: 'left',
        data: ['中国疫情图']
      },
      visualMap: {
        type: 'piecewise',
        pieces: [
          { min: 1000, max: 1000000, label: '大于等于1000人', color: '#372a28' },
          { min: 500, max: 999, label: '确诊500-999人', color: '#4e160f' },
          { min: 100, max: 499, label: '确诊100-499人', color: '#974236' },
          { min: 10, max: 99, label: '确诊10-99人', color: '#ee7263' },
          { min: 1, max: 9, label: '确诊1-9人', color: '#f5bba7' },
        ],
        color: ['#E0022B', '#E09107', '#A3E00B']
      },
      toolbox: {
        show: true,
        orient: 'vertical',
        left: 'right',
        top: 'center',
        feature: {
          mark: { show: true },
          dataView: { show: true, readOnly: false },
          restore: { show: true },
          saveAsImage: { show: true }
        }
      },
      roamController: {
        show: true,
        left: 'right',
        mapTypeControl: {
          'china': true
        }
      },
      series: [
        {
          name: '确诊数',
          type: 'map',
          mapType: 'china',
          roam: false,
          label: {
            show: true,
            color: 'rgb(249, 249, 249)'
          },
          data: [
            {
              name: '北京',
              value: 84
            }, {
              name: '天津',
              value: 0
            }, {
              name: '上海',
              value: 27
            }, {
              name: '重庆',
              value: 0
            }, {
              name: '河北',
              value: 2
            }, {
              name: '河南',
              value: 1
            }, {
              name: '云南',
              value: 1
            }, {
              name: '辽宁',
              value: 10
            }, {
              name: '黑龙江',
              value: 14
            }, {
              name: '湖南',
              value: 0
            }, {
              name: '安徽',
              value: 0
            }, {
              name: '山东',
              value: 7
            }, {
              name: '新疆',
              value: 0
            }, {
              name: '江苏',
              value: 0
            }, {
              name: '浙江',
              value: 14
            }, {
              name: '江西',
              value: 0
            }, {
              name: '湖北',
              value: 9605
            }, {
              name: '广西',
              value: 1
            }, {
              name: '甘肃',
              value: 40
            }, {
              name: '山西',
              value: 0
            }, {
              name: '内蒙古',
              value: 1
            }, {
              name: '陕西',
              value: 10
            }, {
              name: '吉林',
              value: 0
            }, {
              name: '福建',
              value: 0
            }, {
              name: '贵州',
              value: 0
            }, {
              name: '广东',
              value: 47
            }, {
              name: '青海',
              value: 0
            }, {
              name: '西藏',
              value: 0
            }, {
              name: '四川',
              value: 20
            }, {
              name: '宁夏',
              value: 0
            }, {
              name: '海南',
              value: 1
            }, {
              name: '台湾',
              value: 46
            }, {
              name: '香港',
              value: 67
            }, {
              name: '澳门',
              value: 9
            }
          ]
        }
      ]
    };
myChart.on('click', function(params)
        {
            console.log(params); 
            var name = params.name;
            window.location.href='./Province/'+name+'LineProvince.html';
        });
    //使用指定的配置项和数据显示图表
    myChart.setOption(option);
  </script>
</body>

</html>
2)某省份(安徽)折线图
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title></title>
  <style>
    #myEcharts {
      width: 800px;
      height: 500px;
      border: solid 1px red;
      margin: 0 auto;
    }
  </style>
  <!-- 引入 echarts.js -->
  <script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js?_v_=1578305236132"></script>
  <!--引入中国的地图数据js文件,引入后会自动注册地图名字和数据-->
  <script src="https://www.echartsjs.com/examples/vendors/echarts/map/js/china.js?_v_=1578305236132"></script>

</head>

<body>
  <!--为echarts准备一个dom容器-->
  <div id="myEcharts"></div>
  <script>
    //初始化echarts实例
    var myChart = echarts.init(document.getElementById('myEcharts'));
    // 指定图表的配置项和数据
    option = {
    title: {
        text: '安徽疫情折线图'
    },
    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data: ['新增确诊', '累计确诊', '累计治愈', '累计死亡',]
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['1.19', '1.20', '1.21', '1.22', '1.23', '1.24', '1.25']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name: '新增确诊',
            type: 'line',
            stack: '总量',
            data: [10, 36, 46, 48, 37, 60, 43]
        },
        {
            name: '累计确诊',
            type: 'line',
            stack: '总量',
            data: [70, 106, 150, 200, 237, 297, 340]
        },
        {
            name: '累计治愈',
            type: 'line',
            stack: '总量',
            data: [0, 0, 0, 2, 3, 3, 5]
        },
        {
            name: '累计死亡',
            type: 'line',
            stack: '总量',
            data: [0, 0, 0, 0, 0, 0, 0]
        },
      
    ]
};

    //使用指定的配置项和数据显示图表
    myChart.setOption(option);
  </script>
</body>

</html>

4. 地址

git地址
代码规范

因为队友生病所以没有交流,自己实力有限,只能做个大概的样子,下次会注意

posted @ 2020-03-16 22:58  fdstnt  阅读(211)  评论(1编辑  收藏  举报