echarts关系图graph报错
程序员文章站
2022-05-27 10:29:21
...
echarts关系图 报错__focusNodeAdjacency of undefined
// echarts关系图 报错
Uncaught TypeError: Cannot read property '__focusNodeAdjacency' of undefined
at GraphView.js:184
at Graph.graphProto.eachEdge (Graph.js:250)
at ExtendedClass.render (GraphView.js:181)
at Task.progress (Chart.js:265)
at doProgress (task.js:219)
at Task.taskProto.perform (task.js:142)
at echarts.js:1574
at ExtendedClass.<anonymous> (Global.js:531)
at Array.forEach (<anonymous>)
at each$1 (util.js:295)
在开发数据生态架构时,用到了Echarts的关系图,当时遇到了这个问题,给大家分享一下。
series: [{
type: 'graph',
layout: 'none',//是因为设置成了 ‘none’
draggable: true,
roam: true,
focusNodeAdjacency: true,
......
解决办法:
把layout:'none’改成layout:‘force’,
就好使了。
简单说一下原因:
layout = ’ ’ ;意思为:图的布局。
值得类型为 string
值可选:
‘none’ 不采用任何布局,使用节点中提供的 x, y 作为节点的位置。
‘circular’ 采用环形布局。
‘force’ 采用力引导布局。
具体意思可以去看官网:传送门链接: link.
可以看到当你使用‘none’的时候,你的数据中要包含节点中提供的 x, y值,来作为节点的位置。e.g.
...
var data = {
"nodes": [{
"id": "0",
"name": "简单讲解",
"itemStyle": null,
"symbolSize": 19.12381,
"x": -266.82776,
"y": 299.6904,
"attributes": {
"modularity_class": 0
},
"value": 28.685715,
"label": {
"show": false
},
"category": 0
}, {
"id": "1",
"name": "具体可以去看官网例子Les Miserables",
...
若是你的数据中没有节点的位置值,就会报错:__focusNodeAdjacency of undefined;e.g
var data = {
nodes: [{
name: '这样的数据使用 layout:“none,就会报错”',
category: 0
}, {
name: '类似这种数据结构,你就使用 force 采用力引导布局吧',
category: 0
},
类似这种数据结构,你就使用 ‘force’ 采用力引导布局吧,
或者’circular’ 采用环形布局。