图谱展示

描述:当前是关于Echarts图表中的 关系图 示例。
 
            var myData=[]
var myLinks=[]

// 初始化数据
var data=
{
	"wl_lx_ydhl_s002": ["wl_lx_ydhl_s001"],
	"wl_lx_ydhl_s003": ["wl_lx_ydhl_s002"],
	"wl_lx_ydhl_s001": [],
	"wl_lx_ydhl_s010": ["wl_lx_ydhl_s009"],
	"wl_lx_ydhl_s008": [],
	"wl_lx_ydhl_s009": ["wl_lx_ydhl_s008"],
	"wl_lx_ydhl_s006": ["wl_lx_ydhl_s005"],
	"wl_lx_ydhl_s007": ["wl_lx_ydhl_s005"],
	"wl_lx_ydhl_s004": ["wl_lx_ydhl_s003"],
	"wl_lx_ydhl_s005": ["wl_lx_ydhl_s002"]
}
// 当前节点
var curCode = "wl_lx_ydhl_s002"

let i =0
for(let key in data){
    var obj = {
        category:1,
        draggable:true,
        id:key,
        name:key,
        value:''
    }
    if(data[key].length>0){
        for(let index in data[key]){
            var link={
                source:key,
                target:data[key][index],
                value:''
            }
            myLinks.push(link)
        }
    }
    if(key == curCode){
        obj.category = 0
    }
    myData.push(obj)
}


// 编写echart参数
option = {
    title: {
        text: '逻辑关系'
    },
    tooltip: {},
    animationDurationUpdate: 1500,
    animationEasingUpdate: 'quinticInOut',
    label: {
        normal: {
            show: true,
            textStyle: {
                fontSize: 12
            }
        }
    },
    legend: {
        x: 'center',
        data: ['当前知识点', '可推荐知识点', ],
        tooltip: {
            show: true
        }
    },
    series: [{
        type: 'graph',
        layout: 'force',
        symbolSize: 45,
        legendHoverLink: true,
        focusNodeAdjacency: true,
        roam: true,
        categories: [{
            name: '当前知识点',
            itemStyle: {
                normal: {
                    color: '#ff1931'
                }
            }
        }, {
            name: '可推荐知识点',
            itemStyle: {
                normal: {
                    color: '#d6c7d9'
                }
            }
        }],
        label: {
            normal: {
                color: '#050101',
                show: true,
                textStyle: {
                    fontSize: 12
                }
            }
        },
        force: {
            repulsion: 1000
        },
        edgeSymbol: ['circle', 'arrow'],
        edgeSymbolSize: [4, 10],
        edgeLabel: {
            normal: {
                show: true,
                textStyle: {
                    fontSize: 10
                },
                formatter: '{c}'
            }
        },
        data: myData,
        links: myLinks,
        lineStyle: {
            normal: {
                opacity: 0.9,
                width: 1,
                curveness: 0
            }
        }
    }]
}