将csv表转换为层次结构/分层不起作用(想要建立树形图)

时间:2019-04-16 16:36:26

标签: d3.js

我将以下csv表保存到文件data.csv

  • 股票空头,国家/地区,LScore2,MarketCAPUSD
  • ZYNE,US,-4,181623392
  • ZYME,US,-4,477151488
  • ZUO,US,-6,2098448000
  • ZUMZ,US,3,685746624
  • ...

可以在多个国家/地区使用:美国,L,HK,DE等。

我想在d3中构建一个树形图,它仅使用条目的分层列表。

我能够

d3.nest

按国家/地区分类的数据,然后尝试使用

d3.stratify

但是它抱怨缺少根。我究竟做错了什么? 我在此页面上看到一个不使用根的分层示例。 为什么我的不工作? 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);

});

0 个答案:

没有答案