The node.count() function of D3.js library is used to count the number of leaves under a particular node and append it as a value property to the object. If the node given is itself a leaf node then the count is one.
Syntax:
node.count();
Parameters: This function does not take any parameter.
Return Value: This function returns an object.
Below given are a few examples of the function given above.
Example 1: The following example demonstrates counting leaves for the root node.
HTML
<!DOCTYPE html> < html lang = "en" >
< head >
< meta charset = "UTF-8" />
< meta name = "viewport" path1tent =
"width=device-width, initial-scale = 1.0" />
</ script >
</ head >
< body >
< script >
// Constructing a tree
var tree = {
name: "rootNode",
children: [
{
name: "child1"
},
{
name: "child2",
children: [
{
name: "grandchild1",
children: [
{ name: "grand_granchild1_1" },
{ name: "grand_granchild1_2" }
]
},
{
name: "grandchild2",
children: [
{ name: "grand_granchild2_1" },
{ name: "grand_granchild2_2" }
]
},
]
}
]
};
var obj = d3.hierarchy(tree);
// Using node.count() Function
var count = obj.count();
console.log("The number of leaves for root"
+ " node are: ", count.value);
</ script >
</ body >
</ html >
|
Output:
Example 2: The following code demonstrates counting number of leaves for any node.
HTML
<!DOCTYPE html> < html lang = "en" >
< head >
< meta charset = "UTF-8" />
< meta name = "viewport" path1tent =
"width=device-width, initial-scale = 1.0" />
</ script >
</ head >
< body >
< script >
// Constructing a tree
var tree = {
name: "rootNode", // Root node
children: [
{
name: "child1" // Child of root node
},
{
name: "child2", // Child of root node
children: [
{
// Child of child2
name: "grandchild1",
children: [
// Child of grandchild1
{ name: "grand_granchild1_1" },
// Child of grandchild1
{ name: "grand_granchild1_2" }
]
},
{
name: "grandchild2",
children: [
// Child of grandchild2
{ name: "grand_granchild2_1" },
// Child of grandchild2
{ name: "grand_granchild2_2" }
]
},
]
}
]
};
var obj = d3.hierarchy(tree);
var grandchild2 = obj.children[1].children[1];
// Using node.count() function
var count = grandchild2.count();
console.log("The number of leaves for "
+ "grandchild2 are: ", count.value);
</ script >
</ body >
</ html >
|
Output: