parallel-aqi.html 7.5 KB
Newer Older
P
pah100 已提交
1 2 3
<html>
    <head>
        <meta charset="utf-8">
S
sushuang 已提交
4 5
        <script src="./lib/esl.js"></script>
        <script src="./lib/config.js"></script>
P
pah100 已提交
6 7 8 9 10
        <link rel="stylesheet" href="./reset.css">
    </head>
    <body>
        <style>
            body {
P
pah100 已提交
11
                /*background: #000;*/
P
pah100 已提交
12
            }
P
tweak  
pah100 已提交
13 14 15 16
            #main {
                width: 766px;
                height: 688px;
            }
P
pah100 已提交
17 18 19 20 21 22 23 24
        </style>
        <div id="main"></div>

        <script>

            // Schema:
            // date,AQIindex,PM2.5,PM10,CO,NO2,SO2
            var schema = [
P
pah100 已提交
25
                {name: 'date', index: 0, text: '日期'},
P
pah100 已提交
26 27 28
                {name: 'AQIindex', index: 1, text: 'AQI指数'},
                {name: 'PM25', index: 2, text: 'PM2.5'},
                {name: 'PM10', index: 3, text: 'PM10'},
P
pah100 已提交
29 30 31
                {name: 'CO', index: 4, text: '一氧化碳 (CO)'},
                {name: 'NO2', index: 5, text: '二氧化氮 (NO2)'},
                {name: 'SO2', index: 6, text: '二氧化硫 (SO2)'},
P
pah100 已提交
32
                {name: '等级', index: 7, text: '等级'}
P
pah100 已提交
33 34 35 36 37 38
            ];

            require([
                'data/aqi/BJdata',
                'data/aqi/GZdata',
                'data/aqi/SHdata',
S
sushuang 已提交
39 40 41 42 43 44 45 46 47
                // 'zrender/core/util',
                'echarts'
                // 'echarts/chart/parallel',
                // 'echarts/component/legend',
                // 'echarts/component/tooltip',
                // 'echarts/component/visualMap',
                // 'echarts/component/parallel',
            ], function (dataBJ, dataGZ, dataSH, echarts) {
                var zrUtil = echarts.util;
P
pah100 已提交
48

L
lang 已提交
49
                var chart = echarts.init(document.getElementById('main'));
P
pah100 已提交
50

P
pah100 已提交
51
                var lineStyle = {
P
pah100 已提交
52
                    normal: {
53
                        width: 1
P
pah100 已提交
54 55 56 57 58
                        // opacity: 0.5,
                        // shadowBlur: 10,
                        // shadowOffsetX: 0,
                        // shadowOffsetY: 0,
                        // shadowColor: 'rgba(0, 0, 0, 0.5)'
P
pah100 已提交
59 60 61 62
                    }
                };

                chart.setOption({
P
pah100 已提交
63
                    animation: true,
P
pah100 已提交
64
                    legend: {
L
lang 已提交
65
                        bottom: 30,
P
pah100 已提交
66
                        data: ['北京', '上海', '广州'],
P
pah100 已提交
67
                        itemGap: 20,
P
pah100 已提交
68
                        textStyle: {
P
pah100 已提交
69 70
                            // color: '#fff',
                            fontSize: 16
P
pah100 已提交
71 72 73 74 75 76 77 78 79 80
                        }
                    },
                    tooltip: {
                        padding: 10,
                        backgroundColor: '#222',
                        borderColor: '#777',
                        borderWidth: 1,
                        formatter: function (obj) {
                            var value = obj[0].value;
                            return '<div style="border-bottom: 1px solid rgba(255,255,255,.3); font-size: 18px;padding-bottom: 7px;margin-bottom: 7px">'
P
pah100 已提交
81
                                + obj[0].seriesName + ' ' + value[0] + '日期:'
P
pah100 已提交
82 83 84 85 86 87 88 89 90 91
                                + value[7]
                                + '</div>'
                                + schema[1].text + '' + value[1] + '<br>'
                                + schema[2].text + '' + value[2] + '<br>'
                                + schema[3].text + '' + value[3] + '<br>'
                                + schema[4].text + '' + value[4] + '<br>'
                                + schema[5].text + '' + value[5] + '<br>'
                                + schema[6].text + '' + value[6] + '<br>';
                        }
                    },
92 93 94 95 96 97
                    visualMap: {
                        show: true,
                        min: 0,
                        max: 150,
                        dimension: 2,
                        inRange: {
P
pah100 已提交
98 99 100
                            color: ['#d94e5d','#eac736','#50a3ba'].reverse()
                        },
                        outOfRange: {
101
                            color: ['#ccc'],
P
pah100 已提交
102
                            opacity: 0.001
103 104
                        }
                    },
P
pah100 已提交
105 106 107 108 109
                    // dataZoom: {
                    //     show: true,
                    //     orient: 'vertical',
                    //     parallelAxisIndex: [0]
                    // },
P
pah100 已提交
110
                    parallelAxis: [
1
100pah 已提交
111
                        {dim: 0, name: schema[0].text, inverse: true, max: 31, nameLocation: 'end'},
P
pah100 已提交
112 113 114 115 116 117 118
                        {dim: 1, name: schema[1].text},
                        {dim: 2, name: schema[2].text},
                        {dim: 3, name: schema[3].text},
                        {dim: 4, name: schema[4].text},
                        {dim: 5, name: schema[5].text},
                        {dim: 6, name: schema[6].text},
                        {dim: 7, name: schema[7].text,
P
tweak  
pah100 已提交
119
                        type: 'category', data: ['', '', '轻度污染', '中度污染', '重度污染', '严重污染']}
P
pah100 已提交
120
                    ],
P
pah100 已提交
121
                    parallel: {
L
lang 已提交
122
                        bottom: 100,
P
pah100 已提交
123
                        parallelAxisDefault: {
P
pah100 已提交
124 125 126 127
                            type: 'value',
                            name: 'AQI指数',
                            nameLocation: 'end',
                            nameGap: 20,
1
100pah 已提交
128 129 130
                            tooltip: {
                                show: true
                            },
P
pah100 已提交
131
                            nameTextStyle: {
P
pah100 已提交
132
                                // color: '#fff',
P
pah100 已提交
133
                                fontSize: 14
P
pah100 已提交
134 135 136
                            },
                            axisLine: {
                                lineStyle: {
P
pah100 已提交
137
                                    // color: '#aaa'
P
pah100 已提交
138 139 140 141
                                }
                            },
                            axisTick: {
                                lineStyle: {
P
pah100 已提交
142
                                    // color: '#777'
P
pah100 已提交
143 144 145 146 147 148 149
                                }
                            },
                            splitLine: {
                                show: false
                            },
                            axisLabel: {
                                textStyle: {
P
pah100 已提交
150
                                    // color: '#fff'
P
pah100 已提交
151 152 153
                                }
                            }
                        }
P
pah100 已提交
154 155 156 157 158
                    },
                    series: [
                        {
                            name: '北京',
                            type: 'parallel',
P
pah100 已提交
159
                            lineStyle: lineStyle,
P
pah100 已提交
160 161 162 163
                            data: dataBJ
                            // data: [
                            //     [ 1, 32,12 , 19, 28,1.39,24, 8,"优"],
                            // ]
P
pah100 已提交
164 165 166 167
                        },
                        {
                            name: '上海',
                            type: 'parallel',
P
pah100 已提交
168
                            lineStyle: lineStyle,
P
pah100 已提交
169 170 171 172
                            data: dataSH
                            // data: [
                            //     [ 1, 332,212 , 119, 128,12.39,124, 18,"良"],
                            // ]
P
pah100 已提交
173
                        },
P
pah100 已提交
174 175 176 177 178 179
                        {
                            name: '广州',
                            type: 'parallel',
                            lineStyle: lineStyle,
                            data: dataGZ
                        }
P
pah100 已提交
180 181
                    ]
                });
182 183 184 185 186 187 188 189


                chart.on('axisAreaSelected', function (event) {

                    var indices = chart.getModel().getSeries()[0].getRawIndicesByActiveState('active');
                    console.log('北京: ', indices);

                });
P
pah100 已提交
190 191 192 193 194
            });

        </script>
    </body>
</html>