因此,这里是d3树:
http://plnkr.co/edit/HwcZecZtLor51cyNSGSL?p=preview
您可能会看到,树有些复杂,某些休假名称可能会很长。我的主要问题是:
我们可以更改特定结的颜色(一些蓝色,一些红色)吗?有什么办法可以使请假文本与上一级的链接不重叠?尤其是当链接为直线时,会发生这种情况。
我的JS技能至少可以这么说,因为这是我踏入这个世界的第一步,任何帮助将不胜感激。
谢谢!
您第一个问题的答案很简单。在您的示例的第90行中设置了节点的颜色-
.style("fill", function(d) { return d._children ? "lightsteelblue" : "#fff"; });
要更改颜色,您需要做的就是调整这条线。在返回颜色的函数中,您可以访问绑定到节点的数据,因此可以使用任何数据属性来确定颜色。请注意,此处仅设置填充颜色,而不设置轮廓描边颜色,但是您可以轻松添加.style("stroke", ...)
。
第二个问题的答案要复杂得多。您要的功能不是D3的内置功能,因此您必须自己做。请注意,这将是一件非常复杂的事情,因为您必须动态地找出链接和文本元素的位置和边界框。以一般方式进行此操作将是一个重大项目。
我建议您尝试使用标签放置,以尽可能避免重叠。这样会容易得多。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句