Sankey - patentecharts sankey配置项内容和展示

SIPO timeline patent

配置项如下
      var rawData = [
    [2004, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 152667, '进入初审', 152088, '通过初审', 145115, '进入实审', 144948, '授权', 93320, '授权办登', 90344],
    ['进入初审', 152088, '通过初审', 145115, '进入实审', 144948, '授权', 93320, '授权办登', 90344, '维持', 54473],
    ['等待初审', 44, '初审未决', 18, '等待实审提案', 141, '视为撤回', 40674, '视为放弃', 2976, '授权后维持10年失效', 83],
    ['无申请费视撤失效', 38, '初审逾期视撤失效', 6955, '等待实审请求', 18, '驳回', 9666, '-', '-', '授权后维持9年失效', 394],
    ['主动撤回失效', 497, '初审驳回失效', 0, '未请求实审', 8, '未决', 1288, '-', '-', '授权后维持8年失效', 1187],
    ['国优视撤失效', 0, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 2527],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 3518],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 4456],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 5025],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 7343],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 5689],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 5649],
    [2005, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 189299, '进入初审', 187967, '通过初审', 179635, '进入实审', 179316, '授权', 110542, '授权办登', 107587],
    ['进入初审', 187967, '通过初审', 179635, '进入实审', 179316, '授权', 110542, '授权办登', 107587, '维持', 77123],
    ['等待初审', 63, '初审未决', 32, '等待实审提案', 258, '视为撤回', 53879, '视为放弃', 2955, '授权后维持10年失效', 83],
    ['无申请费视撤失效', 88, '初审逾期视撤失效', 8297, '等待实审请求', 40, '驳回', 12955, '-', '-', '授权后维持9年失效', 394],
    ['主动撤回失效', 1180, '初审驳回失效', 3, '未请求实审', 21, '未决', 1940, '-', '-', '授权后维持8年失效', 1187],
    ['国优视撤失效', 1, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 2527],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 3518],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 4456],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 5025],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 7343],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 5689],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 5649],
    [2006, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 224776, '进入初审', 221769, '通过初审', 209989, '进入实审', 202603, '授权', 123331, '授权办登', 120614],
    ['进入初审', 221769, '通过初审', 209989, '进入实审', 202603, '授权', 123331, '授权办登', 120614, '维持', 92977],
    ['等待初审', 77, '初审未决', 74, '等待实审提案', 529, '视为撤回', 58347, '视为放弃', 2717, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 74, '初审逾期视撤失效', 11701, '等待实审请求', 96, '驳回', 17298, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 2853, '初审驳回失效', 5, '未请求实审', 6761, '未决', 3627, '-', '-', '授权后维持8年失效', 17],
    ['国优视撤失效', 3, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 110],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 579],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 2305],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 4566],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 7986],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 5451],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 6623],
    [2007, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 252094, '进入初审', 247547, '通过初审', 232112, '进入实审', 212484, '授权', 131194, '授权办登', 129165],
    ['进入初审', 247547, '通过初审', 232112, '进入实审', 212484, '授权', 131194, '授权办登', 129165, '维持', 104858],
    ['等待初审', 99, '初审未决', 0, '等待实审提案', 806, '视为撤回', 52873, '视为放弃', 2029, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 110, '初审逾期视撤失效', 15427, '等待实审请求', 157, '驳回', 20644, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 4334, '初审驳回失效', 8, '未请求实审', 18665, '未决', 7773, '-', '-', '授权后维持8年失效', 6],
    ['国优视撤失效', 4, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 27],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 145],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 990],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 3541],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 7605],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 5303],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 6690],
    [2008, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 292472, '进入初审', 286256, '通过初审', 269352, '进入实审', 243873, '授权', 151904, '授权办登', 149904],
    ['进入初审', 286256, '通过初审', 269352, '进入实审', 243873, '授权', 151904, '授权办登', 149904, '维持', 129018],
    ['等待初审', 141, '初审未决', 163, '等待实审提案', 1357, '视为撤回', 56684, '视为放弃', 2000, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 167, '初审逾期视撤失效', 17042, '等待实审请求', 206, '驳回', 25597, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 5836, '初审驳回失效', 25, '未请求实审', 23916, '未决', 9688, '-', '-', '授权后维持8年失效', 0],
    ['国优视撤失效', 72, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 2],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 41],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 304],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 1706],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 6491],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 5074],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 7268],
    [2009, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 328665, '进入初审', 313769, '通过初审', 304721, '进入实审', 301686, '授权', 168481, '授权办登', 166686],
    ['进入初审', 313769, '通过初审', 304721, '进入实审', 301686, '授权', 168481, '授权办登', 166686, '维持', 149947],
    ['等待初审', 254, '初审未决', 462, '等待实审提案', 2177, '视为撤回', 60368, '视为放弃', 1795, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 9591, '初审逾期视撤失效', 8550, '等待实审请求', 206, '驳回', 28612, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 3779, '初审驳回失效', 36, '未请求实审', 652, '未决', 44225, '-', '-', '授权后维持8年失效', 0],
    ['国优视撤失效', 1272, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 7],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 83],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 647],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 4106],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 4277],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 7619],
    [2010, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 401736, '进入初审', 370668, '通过初审', 366309, '进入实审', 362215, '授权', 179932, '授权办登', 178606],
    ['进入初审', 370668, '通过初审', 366309, '进入实审', 362215, '授权', 179932, '授权办登', 178606, '维持', 166697],
    ['等待初审', 207, '初审未决', 510, '等待实审提案', 3216, '视为撤回', 66017, '视为放弃', 1326, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 21516, '初审逾期视撤失效', 3789, '等待实审请求', 545, '驳回', 32918, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 6499, '初审驳回失效', 60, '未请求实审', 333, '未决', 83348, '-', '-', '授权后维持8年失效', 0],
    ['国优视撤失效', 2846, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 12],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 105],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 1140],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 3119],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 7533],
    [2011, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 521665, '进入初审', 470558, '通过初审', 466154, '进入实审', 443095, '授权', 177532, '授权办登', 176785],
    ['进入初审', 470558, '通过初审', 466154, '进入实审', 443095, '授权', 177532, '授权办登', 176785, '维持', 171082],
    ['等待初审', 283, '初审未决', 361, '等待实审提案', 22537, '视为撤回', 66264, '视为放弃', 747, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 29116, '初审逾期视撤失效', 4003, '等待实审请求', 522, '驳回', 38364, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 18289, '初审驳回失效', 40, '未请求实审', 0, '未决', 160935, '-', '-', '授权后维持8年失效', 0],
    ['国优视撤失效', 3419, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 12],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 74],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 915],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 4702],
    [2012, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 664251, '进入初审', 599599, '通过初审', 588058, '进入实审', 416529, '授权', 157039, '授权办登', 156697],
    ['进入初审', 599599, '通过初审', 588058, '进入实审', 416529, '授权', 157039, '授权办登', 156697, '维持', 155671],
    ['等待初审', 962, '初审未决', 1451, '等待实审提案', 88930, '视为撤回', 56396, '视为放弃', 342, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 42305, '初审逾期视撤失效', 10061, '等待实审请求', 79973, '驳回', 25962, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 17616, '初审驳回失效', 29, '未请求实审失效', 2626, '未决', 177132, '-', '-', '授权后维持8年失效', 0],
    ['国优视撤失效', 3769, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 4],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 26],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 996],
    [2013, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'],
    ['申请', 809112, '进入初审', 716605, '通过初审', 670102, '进入实审', 308511, '授权', 89208, '授权办登', 89175],
    ['进入初审', 716605, '通过初审', 670102, '进入实审', 308511, '授权', 89208, '授权办登', 89175, '维持', 89161],
    ['等待初审', 1436, '初审未决', 36742, '等待实审提案', 184822, '视为撤回', 12070, '视为放弃', 33, '授权后维持10年失效', 0],
    ['无申请费视撤失效', 58714, '初审逾期视撤失效', 9722, '等待实审请求', 176769, '驳回', 3497, '-', '-', '授权后维持9年失效', 0],
    ['主动撤回失效', 28111, '初审驳回失效', 39, '未请求实审', 0, '未决', 203736, '-', '-', '授权后维持8年失效', 0],
    ['国优视撤失效', 4246, '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持7年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持6年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持5年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持4年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持3年失效', 0],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持2年失效', 1],
    ['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '授权后维持1年失效', 13]
];

// 每个阶段的颜色
var stageColors = ['#E98F4B', '#4CA4BB', '#93C03D', '#639292', '#F19393', '#F2C142'];


// 按年分割原始数据,生成 dataByYear 和 years 两个数组。
var dataByYear = [];
var years = [];
for (var row = 0; row < rawData.length; row++) {
    var year = String(rawData[row][0]);
    if (/^20\d\d$/.test(year)) {
        dataByYear.push([]);
        years.push(year);
        continue;
    }
    dataByYear[dataByYear.length - 1].push(rawData[row]);
}


// 提取生成 nodes 和 links 信息。
function generateNodesAndLinks(dataInYear) {
    var nodes = [];
    var links = [];

    for (var row = 0; row < dataInYear.length; row++) {

        for (var stage = dataInYear[0].length / 2 - 1; stage >= 0; stage--) {
            for (var j = 0; j < dataInYear.length; j++) {   
                var node = {
                    name: dataInYear[j][stage * 2],
                    value: dataInYear[j][stage * 2 + 1]
                };
                if (node.name === '-') {
                    continue;
                }
                if (!hasNode(node.name)) {
                    nodes.push(node);
                }
                
                if (j > 0) {
                    links.push({
                        source: dataInYear[0][stage * 2], 
                        target: node.name, 
                        value: node.value,
                        lineStyle: {
                            normal: {
                                color: stageColors[stage],
                                opacity: 0.5
                            }
                        }
                    });
                }
            }
        }
    }

    return {nodes: nodes, links: links};

    function hasNode(name) {
        var has = false;
        nodes.forEach(function (node) {
            if (node.name === name) {
                has = true;
            }
        });
        return has;
    }
}

option = {
    timeline: {
        axisType: 'category',
        data: years
    },
    baseOption: {
        title: {
            text: 'Sankey Diagram'
        },
        tooltip: {
            trigger: 'item',
            triggerOn: 'mousemove'
        },
        series: [
            {
                type: 'sankey',
                nodeWidth: 8,
                nodeGap: 16,
                bottom: 80,
                layoutIterations: 0,
                itemStyle: {
                    normal: {
                        color: '#555',
                        borderWidth: 1,
                        borderColor: '#aaa'
                    }
                },
                lineStyle: {
                    normal: {
                        curveness: 0.5
                    }
                },
                nodes: [],
                links: []
            }
        ]
    },
    options: years.map(function (year, index) {
        var nodesAndLinks = generateNodesAndLinks(dataByYear[index]);

        return {
            series: [{
                type: 'sankey',
                links: nodesAndLinks.links,
                nodes: nodesAndLinks.nodes
            }]
        }
    })
}
    
截图如下