echarts关系图多条连线

    技术2022-07-11  86

    最近用echarts做图的关系实现图

    数据结构

    连接线会重合,解决办法

    import Graph from 'echarts/lib/data/Graph' import echarts from 'echarts' const Edge = Graph.Edge const Node = Graph.Node function generateNodeKey(id) { return '_EC_' + id; } Graph.prototype.addEdge = function (n1, n2, dataIndex) { var nodesMap = this._nodesMap; var edgesMap = this._edgesMap; // PNEDING if (typeof n1 === 'number') { n1 = this.nodes[n1]; } if (typeof n2 === 'number') { n2 = this.nodes[n2]; } if (!Node.isInstance(n1)) { n1 = nodesMap[generateNodeKey(n1)]; } if (!Node.isInstance(n2)) { n2 = nodesMap[generateNodeKey(n2)]; } if (!n1 || !n2) { return; } var key = n1.id + '-' + n2.id; // PENDING // if (edgesMap[key]) { // return; // } var edge = new Edge(n1, n2, dataIndex); edge.hostGraph = this; if (this._directed) { n1.outEdges.push(edge); n2.inEdges.push(edge); } n1.edges.push(edge); if (n1 !== n2) { n2.edges.push(edge); } this.edges.push(edge); edgesMap[key] = edge; return edge; }

    连接的曲线

    参考文档

    Processed: 0.010, SQL: 9