桑基图echarts sankey配置项内容和展示

配置项如下
      
const colors = [
    '#E7DC54',
    '#67A15D',
    '#F47A80',
    '#AD7152',
    '#DB3F92',
    '#834DA0',
    '#58A5AA',
    '#71BD41',
    '#EE3420',
    '#9DD927',
    '#E7DC54',
    '#67A15D',
    '#F47A80',
    '#AD7152',
    '#DB3F92',
    '#834DA0',
    '#58A5AA',
    '#71BD41',
    '#EE3420',
    '#979067'


]
const res = [
    { arrearscompany: 'a公司', city: '合肥', cumulativearrearsmoney: 238 },
    { arrearscompany: 'b公司', city: '合肥', cumulativearrearsmoney: 2318 },
    { arrearscompany: 'c公司', city: '合肥', cumulativearrearsmoney: 1238 },
    { arrearscompany: 'd公司', city: '合肥', cumulativearrearsmoney: 218 },
    { arrearscompany: 'e公司', city: '合肥', cumulativearrearsmoney: 2381 },
    { arrearscompany: 'f公司', city: '合肥', cumulativearrearsmoney: 3238 },
    { arrearscompany: 'f公司', city: '六安', cumulativearrearsmoney: 1221 },
    { arrearscompany: '六安', city: '合肥', cumulativearrearsmoney: 3238 },
]

const nodesSet = new Set([...res.map(e => e.arrearscompany), ...res.map(e => e.city)])
const nodeList = Array.from(nodesSet)
const nodeJson = {}
const data = []
const links = []
nodeList.forEach((name, i) => {
    nodeJson[name] = colors[i % colors.length]
    data.push({
        name,
        itemStyle: {
            color: nodeJson[name] || colors[0]
        }
    })

})
res.forEach(e => {
    const color = new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
        offset: 0,
        color: nodeJson[e.city] || colors[0]
    }, {
        offset: 1,
        color: nodeJson[e.cumulativearrearsmoney] || colors[colors.length - 1]
    }])
    links.push({
        source: e.city,
        target: e.arrearscompany,
        value: e.cumulativearrearsmoney,
        lineStyle: {
            color: color
        }
    })
})
option =  {
            series: {
                type: 'sankey',
                layout: 'none',
                layble: {

                },
                focusNodeAdjacency: 'allEdges',
                data: data,
                links: links,
                itemStyle: {
                    borderWidth: 1,
                    borderColor: '#aaa',
                    opacity: 1
                },
                lineStyle: {
                    color: 'source',
                    curveness: 0.5,
                    opacity: 0.6
                },
                label: {
                    // color: '#fff',
                    // fontSize: 48,
                    padding: [0, 0, 0, 20]
                }
            }
        }
    
截图如下