设计一个网页用于展示数据及图形

1)  用柱状图展示北京、上海、香港、广东、浙江的现有病例、累计病例数据。(数据来源:表1)

2)  用普通地图(china.js)+散点图展示累计确诊和现有确诊数据。(数据来源:表1)

 

运行图片展示:

疫情数据可视化分析设计 疫情数据可视化报告_数据

疫情数据可视化分析设计 疫情数据可视化报告_坐标轴_02

 

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>190124331 罗智为</title>
    <script src='js/echarts.js'></script>
    <script src="js/echarts.min.js"></script>
    <script src='js/jquery-3.3.1.min.js'></script>
    <style type='text/css'>
        body{
            background-image: url(picture/BigData.jpg);
            background-repeat:no-repeat;
            background-attachment:fixed
        }
        header{
            background-image: url(picture/EpidemicPrevention.jpg);
            background-position:center;
            }
        h1 { 
            margin-bottom: 0;
            padding: 100px;
            font-size: 450%;
            }
        #content { 
            margin:0 15%;
            padding:10px 30px;
            line-height:150%;
            font-size:1.1em;
            background-color:#FFFFFF; 
            }
        footer { 
            text-align:center;
            background-color:#EBEBEB;
            padding:20px 0px;
            color:#000; 
            }
        #table {
            padding:50px;
        }
        #left{
            float: left;
        }
        #right{
            float: right;
        }
    </style>
</head>

<body>
<header><h1></h1></header>
<div id="content">
    <div id='table'>
        <!-- align:对齐方式、border:表格边框的宽度、cellspacing:单元格之间的空白、
        cellpadding:单元边沿与其内容之间的空白-->
        <h3 align=center>北京、上海、香港、广东、浙江的疫情数据</h3>
        <table align=center border=4 cellspacing=0 cellpadding=5 width=500>
            <tr>
                <th>疫情地区</th>
                <th>新增</th>
                <th>现有</th>
                <th>累计</th>
                <th>治愈</th>
                <th>死亡</th>
            </tr>
            <tr align=center>
                <td>北京</td>
                <td>1</td>
                <td>87</td>
                <td>590</td>
                <td>495</td>
                <td>8</td>
            </tr>
            <tr align=center>
                <td>上海</td>
                <td>4</td>
                <td>130</td>
                <td>622</td>
                <td>485</td>
                <td>7</td>
            </tr>
            <tr align=center>
                <td>香港</td>
                <td>3</td>
                <td>553</td>
                <td>1016</td>
                <td>459</td>
                <td>4</td>
            </tr>
            <tr align=center>
                <td>广东</td>
                <td>2</td>
                <td>96</td>
                <td>1566</td>
                <td>1462</td>
                <td>8</td>
            </tr>
            <tr align=center>
                <td>浙江</td>
                <td>1</td>
                <td>23</td>
                <td>1268</td>
                <td>1244</td>
                <td>1</td>
            </tr>
        </table>
    </div>
    <hr>



    <div id="main" style="width:1000px;height:600px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        
        var COVIDdata       //用于存放A-1的数据

        $.ajaxSetup({
            async : false   //设置false为同步,true为异步
        });

        //从JSON文件中获取数据,并保存在变量COVIDdata中
        $.get("A-1.json",function(data){
            COVIDdata = data;
        });

        //指定图表的配置项和数据
        var dataAR = COVIDdata.AR;
        var dataAE = COVIDdata.AE;
        var dataAC = COVIDdata.AC;

        var option1 = {
            title: {
                text: '北京、上海、香港、广东、浙江的现有病例、累计病例数据',
                textStyle:{
                    color:'black',
                    fontSize:20,
                },
                subtext:'190124331 罗智为',
                subtextStyle:{
                    color:'black',
                    fontSize:15,
                },
                right:'center',
            },            
            legend: {
                data:['现有病例','累计病例'],
                bottom: 0,
                left: 'center',
            },
            tooltip:{                       //提示框组件
                trigger: 'axis',            //触发类型。axis:坐标轴触发,主要在柱状图
                axisPointer: {                // 坐标轴指示器,坐标轴触发有效
                    type: 'shadow'            // 默认为直线,可选为:'line' | 'shadow'
                }
            },
            xAxis: {
                name: '地区',
                type: 'category',          //坐标轴类型。category:类目轴
                data: dataAR
            },
            yAxis: {
                name: '病例',
                type: 'value',             //坐标轴类型。value:数值轴
                max: 2000,
            },
            series: [
                {
                    name: '现有病例',
                    type: 'bar',
                    data: dataAE,
                    label:{
                        show:true,              //是否显示标签
                        position:'inside'       //标签的位置,inside:里面
                    },
                    markPoint: {
                        data: [
                            {type: 'max', name: '最大值'},
                            {type: 'min', name: '最小值'}
                        ]
                    }
                },
                {
                    name: '累计病例',
                    type: 'bar',
                    data: dataAC,
                    label:{                     
                        show:true,
                        position:'inside'
                    },
                    markPoint: {
                        data: [
                            {type: 'max', name: '最大值'},
                            {type: 'min', name: '最小值'}
                        ]
                    },
                    barGap: 0   //柱形间的距离
                },
            ]
        };        
        // 使用刚指定的配置项和数据显示图表.
        myChart.setOption(option1);
    </script>
    <hr>
    


    <div id="main2" style="width: 1000px;height:600px;"></div>
        <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main2'));
        
        var nationwide;    //用于存放城市地理坐标

        /* 由于jQuery的$.get()方法读取数据时默认为异步读取,这里改为同步,
        使获取的数据能保存在全局变量AQIdata和nationwide中 */
        $.ajaxSetup({
            async: false    //设置false为同步,true为异步
        });

        //从JSON文件中获取数据,并保存在变量nationwide中
        $.get("A-2.json",function(data){
            nationwide = data;
        });

        //指定图表的配置项和数据
        var dataAE_2 = nationwide.AE_2;

        var schema = [
            {name: 'province', index: 2, text: '省'},
            {name: 'case', index: 3, text: '现有病例'},
        ];

        $.get('map/china.json',function(chinaJson) {
            echarts.registerMap('china',chinaJson);
            var myChart = echarts.init(document.getElementById('main2'));
            // 指定图表的配置项和数据
            myChart.setOption({
                geo: {                  // 配置地理坐标系
                    map: 'china',       // 定义map的类型必须用china.json文件中的reqisterMap的注册名
                    liemStyle: {            // 定义样式
                        emphasis: {         // 高亮状态下的样式
                            areaColor: '#2a333d'
                        }
                    }
                },
                title: {
                    text: '全国各地现有病例',
                    textStyle:{
                        color:'black',
                        fontSize:20,
                    },
                    subtext:'190124331 罗智为',
                    subtextStyle:{
                        color:'black',
                        fontSize:15,
                    },
                    top: 15,
                    right:'center',
                },
                legend:{
                    left: 10,
                    padding: 25,    //图例内边距
                    textStyle: {
                        fontSize: 20,
                        color: '#000000'
                    },
                    data: ['现有病例'],
                },
                tooltip: {
                    padding: 10,
                    backgroundColor: '#222',
                    borderColor: '#777',
                    borderWidth: 1,
                    formatter: function (obj) {
                        var value = obj.value;
                        return '<div style="border-bottom: 1px solid raba(255,255,255,.3); font-size: 18px;padding-bottom: 7px;margin-bottom: 7px">'
                            + '2020年4月14日' + '<br>'
                            + '</div>'
                            + value[2] + ':' + '<br>'
                            + '<hr>'
                            + schema[1].text + ': ' + value[3] + '<br>'
                    }
                },
                backgroundColor: '#cccccc',         // 图表背景色

                series: [{
                    name: '现有病例',        // serles名称
                    type: 'scatter',        // serles图表类型
                    mapType: 'china',   
                    coordinateSystem: 'geo',        // series坐标系类型
                    data: dataAE_2,
                }],
                visualMap: {
                    type: 'continuous',         // 连续型
                    text: ['现有病例'],
                    min: 0,                     // 值域最小值,必须参数
                    max: 600,                   // 值域最大值,必须参数
                    calculable: true,           // 是否启动值域漫游
                    inRange: {                      //定义在选中范围中的视觉元素,如散点图中的大小、颜色、颜色明暗等
                        symbolSize: [10, 20],       //点的大小,数据映射时最小值对应Min,最大值对应Max
                        color: ['#50a3ba', '#eac736', '#d94e5d']
                        // 指定数值从低到高时的颜色变化
                    },
                    textStyle: {
                        color: '#fff'       // 值域控件的文本颜色
                    }
                }
            })
        })
        </script>

        

        <div id="main3" style="width: 1000px;height:600px;"></div>
        <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main3'));
        
        var nationwide;    //用于存放城市地理坐标

        /* 由于jQuery的$.get()方法读取数据时默认为异步读取,这里改为同步,
        使获取的数据能保存在全局变量AQIdata和nationwide中 */
        $.ajaxSetup({
            async: false    //设置false为同步,true为异步
        });

        //从JSON文件中获取数据,并保存在变量nationwide中
        $.get("A-2.json",function(data){
            nationwide = data;
        });

        //指定图表的配置项和数据
        var dataAC_2 = nationwide.AC_2;

        var schema = [
            {name: 'province', index: 2, text: '省'},
            {name: 'case', index: 3, text: '现有病例'},
        ];

        $.get('map/china.json',function(chinaJson) {
            echarts.registerMap('china',chinaJson);
            var myChart = echarts.init(document.getElementById('main3'));
            // 指定图表的配置项和数据
            myChart.setOption({
                geo: {                  // 配置地理坐标系
                    map: 'china',       /* 定义map的类型必须用china.json文件中的reqisterMap的注册名 */
                    liemStyle: {            // 定义样式
                        emphasis: {         // 高亮状态下的样式
                            areaColor: '#2a333d'
                        }
                    }
                },
                title: {
                    text: '全国各地累计病例',
                    textStyle:{
                        color:'black',
                        fontSize:20,
                    },
                    subtext:'190124331 罗智为',
                    subtextStyle:{
                        color:'black',
                        fontSize:15,
                    },
                    top: 15,
                    right:'center',
                },
                legend:{
                    left: 10,
                    padding: 25,    //图例内边距
                    textStyle: {
                        fontSize: 20,
                        color: '#000000'
                    },
                    data: ['累计病例'],
                },
                tooltip: {
                    padding: 10,
                    backgroundColor: '#222',
                    borderColor: '#777',
                    borderWidth: 1,
                    formatter: function (obj) {
                        var value = obj.value;
                        return '<div style="border-bottom: 1px solid raba(255,255,255,.3); font-size: 18px;padding-bottom: 7px;margin-bottom: 7px">'
                            + '2020年4月14日' + '<br>'
                            + '</div>'
                            + value[2] + ':' + '<br>'
                            + '<hr>'
                            + schema[1].text + ': ' + value[3] + '<br>'
                    }
                },
                backgroundColor: '#666666',         // 图表背景色

                series: [{
                    name: '累计病例',        // serles名称
                    type: 'scatter',        // serles图表类型
                    mapType: 'china',   
                    coordinateSystem: 'geo',        // series坐标系类型
                    data: dataAC_2,
                }],
                visualMap: {
                    type: 'continuous',         // 连续型
                    text: ['累计病例'],
                    min: 0,                     // 值域最小值,必须参数
                    max: 5000,                   // 值域最大值,必须参数
                    calculable: true,           // 是否启动值域漫游
                    inRange: {                      //定义在选中范围中的视觉元素,如散点图中的大小、颜色、颜色明暗等
                        symbolSize: [10, 50],       //点的大小,数据映射时最小值对应Min,最大值对应Max
                        color: ['#50a3ba', '#eac736', '#d94e5d']
                        // 指定数值从低到高时的颜色变化
                    },
                    textStyle: {
                        color: '#fff'       // 值域控件的文本颜色
                    }
                }
            })
        })
        </script>
</div>
<footer>
    <a href="#top">广州水利电力职业技术学院</a><br><br>
    <a>19大数据3班 190124331 罗智为 A卷</a>
</footer>
</body>
</html>