d3コードをv3からバージョン4に更新しようとしています。 d3.v4の例は、stratify()https://bl.ocks.org/mbostock/9d0899acb5d3b8d839d9d613a9e1fe04を使用して表形式のデータ(flare.csvなど)を階層データに変換する方法を示しています。しかし、私のデータはJSONなので、stratify()を必要としたくないです。このコードを実行しているd3.v4のJSONデータを使用してツリーレイアウトを作成する方法 - stratify()を使用しない場合
undefined is not a function (evaluating 'root.eachBefore')
:私はこのエラーを取得する
var height = 200;
var width = 500;
var xNudge = 50;
var yNudge = 20;
var tree = d3.tree()
.size([height, width]);
var svg = d3.select("body").append("svg").attr("width","100%").attr("height","100%");
var chartGroup = svg.append("g").attr("transform","translate(50,200) rotate(-90)");
d3.json("treeData.json", function(treeData) {
var root = treeData[0];
tree(root);
console.log('hello');//doesn't log to console, i.e. error occurs beforehand
}
treeData.json:
[
{
"name": "Top Level",
"parent": "null",
"children": [
{
"name": "Level 2: A",
"parent": "Top Level",
"children": [
{
"name": "Son of A",
"parent": "Level 2: A"
},
{
"name": "Daughter of A",
"parent": "Level 2: A"
}
]
},
{
"name": "Level 2: B",
"parent": "Top Level"
}
]
}
]
階層化使用せずd3.v4のツリーレイアウトを作成することが実際に可能です、つまり既に階層的なデータを使用していますか?誰かが例を知っている、または私のコードで問題を見つけることができますか?ありがとう
d3.hierarchy(によって返されるオブジェクト)が含まれていません"name"と "id"プロパティはもう使用できません。 – jackOfAll