3
var tree = d3.layout.tree()
5
.separation(function(a, b) { return (a.parent == b.parent ? 1 : 2) / a.depth; });
7
var diagonal = d3.svg.diagonal.radial()
8
.projection(function(d) { return [d.y, d.x / 180 * Math.PI]; });
10
var vis = d3.select("#chart").append("svg")
12
.attr("height", r * 2 - 150)
14
.attr("transform", "translate(" + r + "," + r + ")");
16
d3.json("../data/flare.json", function(json) {
17
var nodes = tree.nodes(json);
19
var link = vis.selectAll("path.link")
20
.data(tree.links(nodes))
21
.enter().append("path")
22
.attr("class", "link")
25
var node = vis.selectAll("g.node")
28
.attr("class", "node")
29
.attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + d.y + ")"; })
35
.attr("dx", function(d) { return d.x < 180 ? 8 : -8; })
37
.attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; })
38
.attr("transform", function(d) { return d.x < 180 ? null : "rotate(180)"; })
39
.text(function(d) { return d.name; });