测试

描述:当前是关于Echarts图表中的 折线图 示例。
 
            var timelist = ['0:01', '0:02', '0:03', '0:04', '0:05', '0:06', '0:07', '0:08', '0:09', '1:00', '1:01', '1:02', '1:03', '1:04', '1:05', '1:06', '1:07', '1:08', '1:09', '1:10'];
var vallist = [0, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1, 1.5, 1.6, 2, 2.5, 2.3, -2.5, -1.5, -1.2, -0.8, -0.9, -1, -0];
var normalSpeed = 2.5;
var obj = {
    "timeList": ["13:42:26", "13:43:06", "13:42:30", "13:42:32", "13:42:34", "13:42:36", "13:42:38", "13:42:40", "13:42:42", "13:42:44", "13:42:28", "13:42:48", "13:42:50", "13:42:52", "13:42:54", "13:42:56", "13:42:58", "13:43:00", "13:43:02", "13:43:04", "13:42:46"],
    "dataList": [{
        "value": "0.37",
        "hasPeople": "无人",
        "floor": 3,
        "doorStr": "关门",
        "time": "13:42:26"
    }, {
        "value": "1.44",
        "hasPeople": "有人",
        "floor": 14,
        "doorStr": "正在开",
        "time": "13:43:06",
        "symbol": "circle"
    }, {
        "value": "2.37",
        "hasPeople": "有人",
        "floor": 23,
        "doorStr": "开门",
        "time": "13:42:30",
        "symbol": "circle"
    }, {
        "value": "1.89",
        "hasPeople": "有人",
        "floor": 18,
        "doorStr": "开门",
        "time": "13:42:32",
        "symbol": "circle"
    }, {
        "value": "0.61",
        "hasPeople": "无人",
        "floor": 6,
        "doorStr": "关门",
        "time": "13:42:34"
    }, {
        "value": "0.81",
        "hasPeople": "无人",
        "floor": 8,
        "doorStr": "正在关",
        "time": "13:42:36"
    }, {
        "value": "1.31",
        "hasPeople": "有人",
        "floor": 13,
        "doorStr": "正在开",
        "time": "13:42:38",
        "symbol": "circle"
    }, {
        "value": "2.35",
        "hasPeople": "有人",
        "floor": 23,
        "doorStr": "开门",
        "time": "13:42:40",
        "symbol": "circle"
    }, {
        "value": "1.25",
        "hasPeople": "无人",
        "floor": 12,
        "doorStr": "正在关",
        "time": "13:42:42"
    }, {
        "value": "1.61",
        "hasPeople": "有人",
        "floor": 16,
        "doorStr": "正在开",
        "time": "13:42:44",
        "symbol": "circle"
    }, {
        "value": "0.78",
        "hasPeople": "无人",
        "floor": 7,
        "doorStr": "正在关",
        "time": "13:42:28"
    }, {
        "value": "2.35",
        "hasPeople": "有人",
        "floor": 23,
        "doorStr": "开门",
        "time": "13:42:48",
        "symbol": "circle"
    }, {
        "value": "1.02",
        "hasPeople": "无人",
        "floor": 10,
        "doorStr": "正在关",
        "time": "13:42:50"
    }, {
        "value": "1.67",
        "hasPeople": "有人",
        "floor": 16,
        "doorStr": "正在开",
        "time": "13:42:52",
        "symbol": "circle"
    }, {
        "value": "0.84",
        "hasPeople": "无人",
        "floor": 8,
        "doorStr": "正在关",
        "time": "13:42:54"
    }, {
        "value": "1.14",
        "hasPeople": "无人",
        "floor": 11,
        "doorStr": "正在关",
        "time": "13:42:56"
    }, {
        "value": "0.21",
        "hasPeople": "无人",
        "floor": 2,
        "doorStr": "关门",
        "time": "13:42:58"
    }, {
        "value": "0.85",
        "hasPeople": "无人",
        "floor": 8,
        "doorStr": "正在关",
        "time": "13:43:00"
    }, {
        "value": "2.24",
        "hasPeople": "有人",
        "floor": 22,
        "doorStr": "开门",
        "time": "13:43:02",
        "symbol": "circle"
    }, {
        "value": "0.38",
        "hasPeople": "无人",
        "floor": 3,
        "doorStr": "关门",
        "time": "13:43:04"
    }, {
        "value": "2.27",
        "hasPeople": "有人",
        "floor": 22,
        "doorStr": "开门",
        "time": "13:42:46",
        "symbol": "circle"
    }],
    "markPointList": [{
        "value": 3,
        "coord": ["13:42:26", "0.37"]
    }, {
        "value": 14,
        "coord": ["13:43:06", "1.44"]
    }, {
        "value": 23,
        "coord": ["13:42:30", "2.37"]
    }, {
        "value": 18,
        "coord": ["13:42:32", "1.89"]
    }, {
        "value": 6,
        "coord": ["13:42:34", "0.61"]
    }, {
        "value": 8,
        "coord": ["13:42:36", "0.81"]
    }, {
        "value": 13,
        "coord": ["13:42:38", "1.31"]
    }, {
        "value": 23,
        "coord": ["13:42:40", "2.35"]
    }, {
        "value": 12,
        "coord": ["13:42:42", "1.25"]
    }, {
        "value": 16,
        "coord": ["13:42:44", "1.61"]
    }, {
        "value": 7,
        "coord": ["13:42:28", "0.78"]
    }, {
        "value": 23,
        "coord": ["13:42:48", "2.35"]
    }, {
        "value": 10,
        "coord": ["13:42:50", "1.02"]
    }, {
        "value": 16,
        "coord": ["13:42:52", "1.67"]
    }, {
        "value": 8,
        "coord": ["13:42:54", "0.84"]
    }, {
        "value": 11,
        "coord": ["13:42:56", "1.14"]
    }, {
        "value": 2,
        "coord": ["13:42:58", "0.21"]
    }, {
        "value": 8,
        "coord": ["13:43:00", "0.85"]
    }, {
        "value": 22,
        "coord": ["13:43:02", "2.24"]
    }, {
        "value": 3,
        "coord": ["13:43:04", "0.38"]
    }, {
        "value": 22,
        "coord": ["13:42:46", "2.27"]
    }, {
        "symbol": "rect",
        "coord": ["13:42:46", "0.37"],
        "symbolSize": [35, 20],
        "value": "有人"
    }]
}

var option = {
    grid: {
        left: '1%',
        right: '10%',
        bottom: '3%',
        top: '4%',
        containLabel: true
    },
    dataZoom: {
        maxValueSpan: 2,
        minValueSpan: 2,
        startValue: obj.timeList[0],
        endValue: obj.timeList[2],
    },
    xAxis: {
        type: 'category',
        name: '时间',
        boundaryGap: false,
        nameGap: 5,
        axisLine: {
            onZero: false,
        },
        splitLine: {
            show: false
        },
        // data: timelist
        data:obj.timeList,
    },
    yAxis: {
        type: 'value',
        name: '速度\n m/s',
        boundaryGap: false,
        nameGap: 5,
        min: (-normalSpeed*1.25).toFixed(2),
        max: (normalSpeed*1.25).toFixed(2),
        splitLine: {
            show: false
        },
        axisLabel: {
            formatter: '{value}'
        }
    },
    series: [{
        type: 'line',
        lineStyle: {
            normal: {
                color: "blue",
            }
        },
        itemStyle: {
            normal: {
                color: "red",
            }
        },
        data:obj.dataList,
        markPoint: {
            itemStyle: {
                normal: {
                    label: {
                        show: true,
                        position: 'inside',
                        distance: 0,
                        fontSize: 12,
                        color:'#000',
                        //backgroundColor: 'transparent',
                        formatter: function(param) {
                            if (param.value)
                                return param.value;
                            else
                                return 'B';
                        }
                    }
                }
            },
            data: [],
        }
    }, ]
};

myChart.on('dataZoom', function(param) {
    var i = Math.ceil(param.start / 100 *obj.timeList.length)
    var e = parseInt(param.end / 100 *obj.timeList.length)
    console.log(e)
    console.log([obj.timeList[e], obj.dataList[e]]);
    myChart.setOption({
        series: [{
            markPoint: {
                data: [{
                    coord: [obj.timeList[i], obj.dataList[i].value],
                    value: obj.dataList[i].floor,
                    symbol: 'circle',
                    symbolSize: 20,
                    itemStyle:{
                        normal:{
                            borderColor:'rgb(255,0,0)',
                            color:obj.dataList[i].hasPeople=='有人'?'rgba(255,0,0,1)':'rgba(255,255,255,1)',
                        }
                    }
                },{
                    coord: [obj.timeList[e], (normalSpeed*1.25).toFixed(2)],
                    value:obj.dataList[e].doorStr,
                    symbol: 'rect',
                    symbolSize: [40,25],
                }]
            }
        }]
    })
})