我想将数据可视化为一棵树,但我也想自定义默认链接外观。那里显示了默认外观,但我想创建看起来像Rational Software Architect链接的链接。是否可以?
问问题
564 次
2 回答
1
链接是 SVG 路径元素。您可以使用CSS设置样式以更改颜色、宽度等。对于箭头,您可以使用SVG Markers。要添加标签,您需要添加额外的 SVG 文本元素。例如,您可以添加一个带有树链接的新选择,作为为 UML 基数创建 SVG 文本元素的数据。
于 2012-07-02T17:58:43.513 回答
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 是我自己的实现
于 2012-07-03T03:46:43.683 回答