Line Chart with scatters

描述:当前是关于Echarts图表中的 折线图 示例。
 
            /**
 * 
 * 测试自动遍历源数据以整合成可以
 * 自动渲染的polyline的数据数组
 * 
 */

var coors1 = [
    [100, 220],
    [200, 182],
    [300, 191],
    [400, 234],
    [500, 290],
    [600, 330],
    [700, 310]
];

var coors2 = [
    [100, 420],
    [200, 382],
    [300, 391],
    [400, 434],
    [500, 490],
    [600, 530],
    [700, 510]
];

var coors3 = [
    [100, 620],
    [200, 582],
    [300, 591],
    [400, 634],
    [500, 690],
    [600, 730],
    [700, 710]
];
var c1 = [];
var c2 = [];
var c3 = [];
var newSet = [c1, c2, c3];

var coors = [coors1, coors2, coors3];

function filter(newSet, coors) {
    for (var i = 0; i < newSet.length; i++) {
        for (var j = 0; j < coors[i].length - 1; j++) {
            newSet[i][j] = [coors[i][j][0], coors[i][j][1], coors[i][j + 1][0], coors[i][j + 1][1]];
        }
    }
}
filter(newSet, coors);
console.log(newSet);
var optionSeries = [];
var legendData = [];
var renderLoop = function(sourceData, pointData, i) {

        var renderLineItem = function(params, api) {

            var point1 = api.coord([api.value(0), api.value(1)]);
            var point2 = api.coord([api.value(2), api.value(3)]);
            //console.log(point);
            return {
                type: 'line',
                shape: {
                    x1: point1[0],
                    x2: point2[0],
                    y1: point1[1],
                    y2: point2[1]
                },
                style: api.style({
                    fill: null,
                    stroke: api.visual('color'),
                    lineWidth: 2
                })
            };

        }
        var num = i + 1;
        legendData.push({
            name: 'Line' + num
        }, {
            name: 'EffectScatter' + num
        });
        optionSeries.push({
            type: 'custom',
            name: 'Polyline' + num,
            renderItem: renderLineItem,
            encode: {
                x: 0,
                y: 1
            },
            data: sourceData[i],
            animationDelay: function(idx) {
                return idx * 100;
            }
        }, {
            type: 'effectScatter',
            name: 'EffectScatter' + num,
            symbol: 'circle',
            symbolSize: 10,
            data: pointData[i],
            animationDelay: function(idx) {
                return idx * 100;
            }
        });
    }
    //遍历元数据,自动生成polyline
for (var i = 0; i < newSet.length; i++) {
    renderLoop(newSet, coors, i);
}

option = {
    title: {
        text: 'Line Chart with scatters'
    },
    legend: {
        data: legendData,
        left: 0,
        top: 50
    },
    grid: {
        top: 100
    },
    xAxis: {
        min: 0,
        max: 1000
    },
    yAxis: {
        min: 0,
        max: 1000
    },
    tooltip: {

    },
    series: optionSeries
};