Javascript 更改D3链接的外观
我希望将数据可视化为一棵树,但我也希望自定义默认链接外观。显示了默认外观,但我想创建看起来像链接的链接。可能吗?链接是SVG路径元素。您可以使用设置样式来更改箭头的颜色、宽度等。对于箭头,您可以使用。要添加标签,需要添加额外的SVG文本元素。例如,您可以添加一个新的select,该树作为数据,为UML基数创建SVG文本元素。链接是SVG路径元素。您可以使用设置样式来更改箭头的颜色、宽度等。对于箭头,您可以使用。要添加标签,需要添加额外的SVG文本元素。例如,您可以添加一个新的select,将树作为数据,为UML基数创建SVG文本元素。我已经编写了自己的路径处理程序。以下是示例代码:Javascript 更改D3链接的外观,javascript,tree,data-visualization,d3.js,Javascript,Tree,Data Visualization,D3.js,我希望将数据可视化为一棵树,但我也希望自定义默认链接外观。显示了默认外观,但我想创建看起来像链接的链接。可能吗?链接是SVG路径元素。您可以使用设置样式来更改箭头的颜色、宽度等。对于箭头,您可以使用。要添加标签,需要添加额外的SVG文本元素。例如,您可以添加一个新的select,该树作为数据,为UML基数创建SVG文本元素。链接是SVG路径元素。您可以使用设置样式来更改箭头的颜色、宽度等。对于箭头,您可以使用。要添加标签,需要添加额外的SVG文本元素。例如,您可以添加一个新的select,将树作
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);
}
}
Function Math.sign是我自己的实现我编写了自己的路径处理程序。以下是示例代码:
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是我自己的实现