我想将数据可视化为树,但我也希望自定义默认链接外观。 There显示默认外观,但我想创建看起来像Rational Software Architect链接的链接。有可能吗?
答案 0 :(得分:1)
链接是SVG路径元素。您可以使用CSS设置样式以更改颜色,宽度等。对于箭头,您可以使用SVG Markers。要添加标签,您需要添加其他SVG文本元素。例如,您可以使用树links添加一个新选择作为为UML基数创建SVG文本元素的数据。
答案 1 :(得分:0)
我已经完成了编写自己的路径处理程序。以下是示例代码:
function elbow(d) {
var radius = 10;
var xOffsetSign = Math.sign(d.source.x - d.target.x);
var yOffsetSign = Math.sign(d.source.y - d.target.y);
if (xOffsetSign != 0) {
var ellipseXDirection = (xOffsetSign * yOffsetSign) > 0 ? 1 : 0;
return "M" + d.source.x + "," + d.source.y
+ " H" + (d.target.x + xOffsetSign * radius)
+ " A" + radius + "," + radius + " 0 0," + ellipseXDirection + " " + d.target.x + "," + (d.source.y - yOffsetSign * radius)
+ " V" + d.target.y
+ (d.target.children ? "" : "h" + margin.right);
} else {
return "M" + d.source.x + "," + d.source.y
+ " H" + d.target.x + " V" + d.target.y
+ (d.target.children ? "" : "h" + margin.right);
}
}
函数Math.sign是我自己的实现