1

我想将数据可视化为一棵树,但我也想自定义默认链接外观。那里显示了默认外观,但我想创建看起来像Rational Software Architect链接的链接。是否可以?

4

2 回答 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 回答