The node.sum() function in d3.js is used to evaluate the specified value function for a particular node. The node.value property of this function contains the value returned by the specified function.
Syntax:
node.sum(value);
Parameters: This function accepts a single parameter as mentioned above and described below:
- value: This takes a function to be evaluated for each node.
Return Values: This function returns an object.
Below given are a few examples of the function given above.
Example 1:
HTML
<!DOCTYPE html> < html lang = "en" >
< head >
< meta charset = "UTF-8" />
< meta name = "viewport"
path1tent = " width = device -width,
initial-scale = 1 .0"/>
< script src =
</ script >
</ head >
< body >
< script >
// Constructing a tree
var tree={
name: "rootNode", // Root node
children: [
{
name: "child1", // Child of root node
value: 2
},
{
name: "child2", // Child of root node
value: 3,
children: [
{
name: "grandchild1", // Child of child2
value: 1,
children:[
{name: "grand_granchild1_1",value: 4},
// Child of grandchild1
{name: "grand_granchild1_2",value: 5}
// Child of grandchild1
]
},
{
name: "grandchild2",
children:[
{name: "grand_granchild2_1"},
// Child of grandchild2
{name: "grand_granchild2_2"}
// Child of grandchild2
]
},
]
}
]
};
var obj = d3.hierarchy(tree);
var grandchild2=obj.children[1].children[1];
var sum=obj.sum(d=>d.value);
console.log(sum);
console.log("The sum of value is: ",sum.value);
</ script >
</ body >
</ html >
|
Output:
Example 2:
HTML
<!DOCTYPE html> < html lang = "en" >
< head >
< meta charset = "UTF-8" />
< meta name = "viewport"
path1tent = " width = device -width,
initial-scale = 1 .0"/>
< script src =
</ script >
</ head >
< body >
< script >
// Constructing a tree
var tree={
name: "rootNode", // Root node
children: [
{value:1},
{value:2},
{value:3},
{value:4},
{value:5},
{value:6},
]
};
var obj = d3.hierarchy(tree);
var sum=obj.sum(d=>d.value*12);
// 1 + 2 + 3 + 4 + 5 + 6 = 21*12=252
console.log(sum);
console.log("The value is: ",sum.value);
</ script >
</ body >
</ html >
|
Output: