2013-09-13 3 views
0

Я работаю с this.Доступ к дополнительным данным от flare.json для d3.tree

Теперь flare.json нечто вроде

{ "name": "flare", "children": [ { "name": "analytics", "children": [ {  "name": "cluster",... 

Мне нужно больше информации, которая будет отображаться, а не только имя, чтобы после загрузки данных, у меня есть что-то подобное.

{ "name": "John Smith", "Age": "20", "Country": "Canada", "children": [ { //and so on 

Все узлы будут иметь больше полей, чем просто «имя», скажем, 3 или 4 элемента.

Код части для добавления данных является

nodeEnter.append("svg:text") 
    .attr("dy", 3.5) 
    .attr("dx", 5.5) 
    .text(function(d) { return d.name; }); 

Я судимое return d.name + ' - ' + d.age;});, но он просто работает на корневом узле. На всех детей это имя правильно написано, но вместо Age.Text сказано: [object Object]

Основы Мне нужно получить доступ не только к «имени» из файла flare.json, но еще к нескольким пунктам.

Заранее спасибо.

+0

Это указывает на то, что ваши дети не имеют правильного свойства 'age'. Вы подтвердили, что он присутствует везде, где вы хотите его использовать? –

+0

«age»: «xx» присутствует в каждом дочернем/узле. Это то, о чем вы спрашиваете? –

+1

Да. В этом случае он должен работать нормально. Это, безусловно, отлично подходит для меня с атрибутом 'size', см. Http://bl.ocks.org/larskotthoff/6554125 –

ответ

1

Он отлично работает с атрибутом size, который уже присутствует в данных. См. Пример here. То, что я сделал это изменить .text к

.text(function(d) { return d.name + (d.size ? " " + d.size : ""); }); 

, который будет отображать информацию о размере, если он присутствует.

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