D3.js:如何用特定颜色突出显示树状图中的节点?

时间:2013-08-09 10:52:50

标签: javascript d3.js

我使用D3.js cluster构建Dendogram,我想突出显示特定节点。我以为我可以实现这个向树的每个节点添加自定义属性color然后写这样的东西:

node.append("text").attr("fill", function(d) {return d.color})

但似乎树节点中只有standard predefined attributes。 现在我不确定这种做法是否正确。

那么如何根据自定义颜色属性突出显示特定节点?

1 个答案:

答案 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"。然后我将第一部分用作文本,第二部分用作颜色。