我试图执行 这里 提到的可折叠树的代码。但似乎对角线方法不适用于 v4(我可能错了)。
为了:
var diagonal = d3.svg.diagonal()
我收到此错误:
类型错误:无法读取未定义的属性“对角线”
v4 中的等价物是什么?查看 d3.js API 参考并没有给我任何线索。
原文由 Mopparthy Ravindranath 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试图执行 这里 提到的可折叠树的代码。但似乎对角线方法不适用于 v4(我可能错了)。
为了:
var diagonal = d3.svg.diagonal()
我收到此错误:
类型错误:无法读取未定义的属性“对角线”
v4 中的等价物是什么?查看 d3.js API 参考并没有给我任何线索。
原文由 Mopparthy Ravindranath 发布,翻译遵循 CC BY-SA 4.0 许可协议
请 在此处 查看 GitHub 问题。
虽然问题仍然悬而未决,但 Bostock 先生似乎并不急于在版本 4 中重新实现它。为什么?因为自己实现很简单:
function link(d) {
return "M" + d.source.y + "," + d.source.x
+ "C" + (d.source.y + d.target.y) / 2 + "," + d.source.x
+ " " + (d.source.y + d.target.y) / 2 + "," + d.target.x
+ " " + d.target.y + "," + d.target.x;
}
原文由 Mark 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
D3 版本 4.9.0 引入了 链接形状,它与 D3 v3 中的旧
d3.svg.diagonal
具有相同的功能。根据 API :
有以下三种方法:
因此,对于像您链接的那棵可折叠树,您将路径
d
属性定义为:演示:
假设您有一个对象
source
和target
,每个对象都有x
和 —e72cdfd7eb22cab6cd19y
属性首先,您创建链接生成器:
然后您可以通过将该数据传递给链接生成器来绘制路径:
这是演示: