2018年09月份爪哇市空气污染分布图

描述:当前是关于Echarts图表中的 散点图 示例。
 
                    var xnums = 25;
        var ynums = 24;
        var dataNums = xnums * ynums;
        var itemWidth = 30;
        var itemHeight = 15;

        function makeRandom() {
            var chance = Math.ceil(Math.random() * 100);
            if (chance <= 40) {
                return Math.random() * 50
            } else if (chance > 40 && chance <= 60) {
                return Math.random() * 50 + 50
            } else if (chance > 60 && chance <= 75) {
                return Math.random() * 50 + 100
            } else if (chance > 75 && chance <= 85) {
                return Math.random() * 50 + 150
            } else if (chance > 85 && chance <= 95) {
                return Math.random() * 100 + 200
            } else if (chance > 95 && chance <= 100) {
                return Math.random() * 300 + 300
            }
        }

        function makeData() {
            var data = [];
            for (var i = 0; i < xnums; i++) {
                for (var j = 0; j < ynums; j++) {
                    data.push([echarts.format.formatTime('yyyy-MM-dd', new Date(2018, 8, i + 1)), j + 1 + ':00', (makeRandom()).toFixed(1)])
                }
            }
            return data
        }

        function makeXdata() {
            var xData = [];
            for (var i = 1; i <= xnums; i++) {
                xData.push(echarts.format.formatTime('yyyy-MM-dd', new Date(2018, 8, i)));
            }
            console.log(xData);
            return xData
        }

        function makeYdata() {
            var yData = [];
            for (var i = 1; i <= ynums; i++) {
                yData.push(i + ':00');
            }
            return yData
        }
        //console.log(makeData());
        option = {
            color: ['#003366', '#006699', '#4cabce', '#e5323e'],
            title: {
                text: '2018年09月份爪哇市空气污染分布图',
                subtext: '数据纯属虚构',
                top: '2%',
                left: 'center',
                textStyle: {
                    fontSize: 30
                },
                subtextStyle: {
                    fontSize: 15
                }
            },
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                },
                textStyle: {
                    lineHeight: 150
                }
            },
            calculable: true,
            grid: {
                show: false,
                top: '25%',
                left: 'center',
                width: xnums * (itemWidth + 10),
                height: ynums * itemHeight
            },
            visualMap: {
                min: 0,
                max: 600,
                splitNumber: 6,
                pieces: [

                    {
                        min: 300,
                        label: '严重污染'
                    },

                    {
                        min: 200,
                        max: 300,
                        label: '重度污染'
                    },
                    {
                        min: 150,
                        max: 200,
                        label: '中度污染'
                    },
                    {
                        min: 100,
                        max: 150,
                        label: '轻度污染'
                    },
                    {
                        min: 50,
                        max: 100,
                        label: '良'
                    },
                    {
                        min: 0,
                        max: 50,
                        label: '优'
                    },
                ],
                itemWidth: itemWidth,
                itemHeight: itemHeight,
                color: ['#a11430', '#e06b9d', '#db4a6e', '#f2c248', '#cddb4c', '#4bcf1c'],
                top: '15%',
                left: 'center',
                orient: 'horizontal',
                textStyle: {
                    fontSize: 15
                }
            },
            xAxis: [{
                axisTick: {
                    show: false
                },
                data: makeXdata(),
                axisLabel: {
                    interval: 0,
                    textStyle: {
                        fontSize: 10
                    },
                    showMinLabel: true,
                    showMaxLabel: true,
                    rotate: 50
                }
            }],
            yAxis: [{
                data: makeYdata(),
                axisLabel: {
                    interval: 0,
                    textStyle: {
                        fontSize: 10
                    }
                }
            }],
            series: [{
                type: 'scatter',
                symbol: 'rect',
                symbolSize: (value, params) => {
                    return [itemWidth, itemHeight]
                    //console.log(value, params)
                },
                itemStyle: {
                    borderWidth: 0.5,
                    borderColor: 'black'
                },
                data: makeData()
            }]
        };;