2013-08-09 4 views
1

Я использую D3.js cluster для построения Dendogram и хочу выделить определенные узлы. Я думал, что я мог бы добиться этого добавления пользовательских атрибутов color к каждому узлу дерева, а затем написать что-то вроде этого:D3.js: Как выделить узлы в Dendogram с определенным цветом?

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

Но мне кажется, что есть только standard predefined attributes в узле дерева. Теперь я не уверен, что этот подход прав.

Итак, как я могу выделить определенные узлы в зависимости от пользовательского атрибута цвета?

ответ

0

Обновление Мне удалось реализовать это путем инкапсуляции пользовательского атрибута внутри атрибута имени. Я думаю, что это может быть полезно, чтобы показать код:

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:color". И затем я использую первую часть как текст, а вторую - как цвет.

Смежные вопросы