일부 d3 코드를 v3에서 버전 4로 업데이트하려고합니다. JSON 데이터를 사용하여 트리 다이어그램을 만들었습니다. 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