echarts3制作关系图时,两个节点互相连线重合问题求助
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts3制作关系图时,两个节点互相连线重合问题求助相关的知识,希望对你有一定的参考价值。
参考技术A 使用_buildLinkShapes(nodes, links)函数,针对定义的全部线段数据,设置线段的权重(粗细)、样式和高亮样式。1、zrender定义线段数据:
source : 1, target : 0, weight : 1,
onclick:function(params)
alert(params.target.style.text);
,
itemStyle:
normal:
lineWidth:10,
text:'丽萨-乔布斯',
textColor:'#',
textFont:'bold 15px verdana',
textPosition:'inside'
onclick是点击事件。onclick:function(params)alert(params.target.shape);
lineWidth是线段宽度。
text是标注的文字。
textPosition 采用的zrender中的文字位置。
定义线段事件和样式全部代码:
function _buildLinkShapes(nodes, links)
var l = links.length;
for (var i = 0; i < l; i++)
var link = links[i];
//var source = nodes[link.source];
// var target = nodes[link.target];
var weight = link.weight || 1;
linkWeights.push(weight);
var shape =
id : zr.newShapeId(self.type),
shape : 'line',
hoverable : false,
style :
xStart : 0,
yStart : 0,
xEnd : 0,
yEnd : 0
,
clickable : true,
highlightStyle :
;
zrUtil.merge(shape.style, linkStyle);
zrUtil.merge(shape.highlightStyle, linkEmphasisStyle);
//优先级 ItemStyle > linkStyle
if (typeof(link.itemStyle) !== 'undefined')
if(link.itemStyle.normal)
zrUtil.merge(shape.style, link.itemStyle.normal,
overwrite : true
);
if(link.itemStyle.emphasis)
zrUtil.merge(
shape.highlightStyle,
link.itemStyle.emphasis,
overwrite : true
);
//zhao
if (typeof (link.onclick) !== 'undefined')
if (link.onclick)
shape.onclick = link.onclick;
linkShapes.push(shape);
self.shapeList.push(shape);
zr.addShape(shape);
var narr = new NDArray(linkWeights);
var max = narr.max();
if (max !== 0)
linkWeights = narr.mul(1/max, narr).toArray();
以上是关于echarts3制作关系图时,两个节点互相连线重合问题求助的主要内容,如果未能解决你的问题,请参考以下文章