我使用 D3.js集群构建Dendogram,我想突出显示特定节点。我想我可以实现向color
树的每个节点添加自定义属性,然后编写如下内容:
node.append("text").attr("fill", function(d) {return d.color})
但似乎树节点中只有标准的预定义属性。现在我不确定这种方法是否正确。
那么如何根据自定义颜色属性突出显示特定节点?
更新 我已经设法通过在名称属性中封装自定义属性来实现这一点。我认为显示代码可能会有所帮助:
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"
. 然后我使用第一部分作为文本,第二部分作为颜色。