D3.hierarchy возвращает NaN 'r' значения - круговая упаковка - PullRequest
0 голосов
/ 17 октября 2018

Я изучаю D3 и пытаюсь воссоздать код упаковки круга по следующей ссылке: https://bl.ocks.org/mbostock/7607535

Разница в том, что я импортирую данные из CSV (образец ниже):

Name, Rating, Boss, Bossboss
Name1, 1, BossName, Bossbossname
Name2, 3, BossName, Bossbossname

Код выглядит следующим образом:

var rowConverter = function(d) {
  return {
    name: d.Name,
    value: parseInt(d['Rating']),
    Boss: d['Boss'],
    Bossboss: d['Bossboss']
  };
}

var pack = d3.pack()
  .size([diameter - margin, diameter - margin])
  .padding(2);


d3.csv("data.csv", rowConverter, function(data) {
  entries = d3.nest()
  .key(function(d) {
    return d.Bossboss;
  })
  .key(function(d) {
    return d.Boss;
  })
  .entries(data);


  var root = {
    name: "root",
    children: entries
  };

  root = d3.hierarchy(root)
  .sum(function(d) {
    return d.size;
  })
  .sort(function(a, b) {
    return b.value - a.value;
  });
} 

Это создает узлы, в которых данные идеально заполнены иерархически.Однако радиус каждого узла равен Nan.Может кто-нибудь объяснить, пожалуйста, что здесь не так?

Редактировать: Кажется, это хуже, чем просто атрибут 'r', являющийся NaN.Только корневой узел имеет заполненные атрибуты x и y.Внутренние узлы имеют NaN для всех атрибутов x, y и r.

Спасибо.

...