Преобразование таблицы csv в иерархию / стратификация не работает (хотите создать древовидную карту)

#d3.js

#d3.js

Вопрос:

у меня есть следующая таблица csv, сохраненная в файле data.csv

  • Stock_Short, Country, LSCORE 2, MarketCAPUSD
  • ЗАЙН,США,-4,181623392
  • ZYME,США,-4,477151488
  • ЦЗО, США, -6 2098448000
  • ZUMZ, US,3,685746624

это продолжается для нескольких стран: США, L, HK, DE и т.д.

Я хочу создать древовидную карту в d3, и она использует только иерархический список записей.

Я был в состоянии

 d3.nest
 

данные по странам, а затем попытался использовать

 d3.stratify
 

но он жалуется на отсутствующий корень. что я делаю не так?
я вижу на этой странице пример стратификации без использования root.
почему мой не работает?
https://github.com/d3/d3-hierarchy/blob/master/README.md#stratify

вот основные данные: https://gist.githubusercontent.com/a3igner/8935d1e1158898540a615900a8dcb249/raw/5c957cc489ba5049cdc81ef47c3688b7816fbe69/LeverExample

 var height = 200;
var width = 500;
var margin = {left: 50,right:50,top:40,bottom:0};

//var tree = d3.tree().size([width,height]);
var svg = d3.select('body').append('svg').attr('width','100%').attr('height','100%');
var chartGroup = svg.append('g').attr('transform','translate(' margin.left ',' margin.top ')');

d3.json("keyedJSON-Lever.json").get(function(error,data){
console.log(data);
// console.log(data[0].children);
// console.log(data[0].children[0].children[1].name);
var nestedData = d3.nest().key(function(d){ return d.country; }).entries(data);
console.log(nestedData);

var treeData = d3.stratify()
          .id(function(d) { return d.stock; })
          .parentId(function(d) { return d.country; })
          (data);
console.log(treeData);

});
 

Комментарии:

1. Ваши данные имеют несколько корней. stratify должно быть одно происхождение, то есть одна страна. Вы собираетесь использовать все страны или разделить их по странам?

2. мне нужно сгруппировать по стране. Мне кажется странным, что вам также нужно иметь корень для country. тогда в каждой стране есть все запасы, принадлежащие этой стране. Это мой блок sofar: bl.ocks.org/a3igner/0658ea95abf9c7b729e16ca84906d6f1 /…

3. Данные вашего блока сильно отличаются от данных gist, которые вы упомянули в своем первоначальном вопросе.

4. Игнорируйте finx500, который я клонировал в примере. Levermann-All-Week15.csv — это таблица