echarts关系图graph报错

tech2023-09-18  105

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’ 采用环形布局。

原创不易 转载时必须以链接形式注明原始出处及本声明。

最新回复(0)