我使用D3.js cluster构建Dendogram,我想突出显示特定节点。我以为我可以实现这个向树的每个节点添加自定义属性color
然后写这样的东西:
node.append("text").attr("fill", function(d) {return d.color})
但似乎树节点中只有standard predefined attributes。 现在我不确定这种做法是否正确。
那么如何根据自定义颜色属性突出显示特定节点?
答案 0 :(得分:0)
<强>更新强> 我已经设法通过在name属性中封装自定义属性来实现这一点。我认为显示代码可能会有所帮助:
node.append("text")
.attr("fill", function(d) {return d.name.split(':').pop()})
.text(function (d) {
var tokens = d.name.split(':');
return tokens.slice(0, tokens.length-1);
});
这里我使用name属性,格式如下:"name:color"
。然后我将第一部分用作文本,第二部分用作颜色。