tooltip on expanding tree

by Mayur Chavda

HTML

<script src="http://d3js.org/d3.v3.min.js"></script>

CSS

.node {
    cursor: pointer;
}
.node circle {
    fill: #fff;
    stroke: steelblue;
    stroke-width: 1.5px;
}
.node text {
    font: 10px sans-serif;
}
.link {
    fill: none;
    stroke: #ccc;
    stroke-width: 1.5px;
}

JavaScript

var margin = {
    top: 20,
    right: 120,
    bottom: 20,
    left: 120
},
width = 960 - margin.right - margin.left,
    height = 800 - margin.top - margin.bottom;

var i = 0,
    duration = 750,
    root;

var tree = d3.layout.tree()
    .size([height, width]);

var diagonal = d3.svg.diagonal()
    .projection(function (d) {
    return [d.y, d.x];
});

var svg = d3.select("body").append("svg")
    .attr("width", width + margin.right + margin.left)
    .attr("height", height + margin.top + margin.bottom)
    .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var flare = {
    "name": "flare",
        "children": [{
        "name": "analytics",
            "children": [{
            "name": "cluster",
                "children": [{
                "name": "AgglomerativeCluster",
                    "size": 3938
            }, {
                "name": "CommunityStructure",
                    "size": 3812
            }, {
                "name": "HierarchicalCluster",
                    "size": 6714
            }]
        }, {
            "name": "graph",
                "children": [{
                "name": "BetweennessCentrality",
                    "size": 3534
            }, {
                "name": "LinkDistance",
                    "size": 5731
            }]
        }]
    }, {
        "name": "animate",
            "children": [{
            "name": "Easing",
                "size": 17010
        }, {
            "name": "FunctionSequence",
                "size": 5842
        }, {
            "name": "Transitioner",
                "size": 19975
        }, {
            "name": "TransitionEvent",
                "size": 1116
        }, {
            "name": "Tween",
                "size": 6006
        }]
    }]
};
root = flare;
root.x0 = height / 2;
root.y0 = 0;

function update(source) {

    // Compute the new tree layout.
    var nodes = tree.nodes(root).reverse(),
        links = tree.links(nodes);

   ...