当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


d3.js nest()用法及代码示例


D3.js是一个使用javascript构建的库,尤其用于数据可视化。 D3.nest()函数用于将数据分组,就像SQL中的groupBy子句一样。它根据键和值对数据进行分组。

用法:

d3.nest()

参数:该函数不接受任何参数。

返回值:它返回具有多个属性的对象,包括条目,键,值,映射,排序。

范例1:在此示例中,将根据键“manufactured”对数据进行分组,我们也可以根据多个键对数据进行分组。



HTML

<!DOCTYPE html> 
<html lang="en"> 
  
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" path1tent= 
        "width=device-width, initial-scale=1.0"> 
  
    <script src="https://d3js.org/d3.v4.min.js"> 
    </script> 
  
    <title> 
        D3.js d3.nest() Function 
    </title> 
</head> 
  
<body> 
    <script> 
        var cars = [ 
            { name:"car1", manufactured:"1950", model:"s51" }, 
            { name:"car1", manufactured:"1950", model:"s51" }, 
            { name:"car1", manufactured:"1951", model:"s50" }, 
            { name:"car1", manufactured:"1951", model:"s50" }, 
        ]; 
        var groupedData = d3.nest() 
            .key(function (d) { return d.manufactured; }) 
            .entries(cars); 
        console.log("ArrayData:", groupedData); 
        console.log("ArrayData[0]:", groupedData[0]); 
        console.log("ArrayData[1]:", groupedData[1]); 
    </script> 
</body> 
  
</html


输出:数据按制造年份分组,关键年份为1950和1951。

范例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="https://d3js.org/d3.v4.min.js"> 
    </script> 
  
    <title> 
        D3.js d3.nest() Function 
    </title> 
</head> 
  
<body> 
    <script> 
        var cars = [ 
            { name:"car1", manufactured:"1950", model:"s51" }, 
            { name:"car1", manufactured:"1950", model:"s51" }, 
            { name:"car1", manufactured:"1951", model:"s50" }, 
            { name:"car1", manufactured:"1951", model:"s50" }, 
        ]; 
        var groupedData = d3.nest() 
            .key(function (d) { return d.manufactured; }) 
            .key(function (d) { return d.model; }) 
            .entries(cars); 
        console.log("ArrayData:", groupedData); 
        console.log("ArrayData[0]:", groupedData[0]); 
        console.log("ArrayData[1]:", groupedData[1]); 
    </script> 
</body> 
  
</html>


输出:数据首先按制造年份分组,然后按型号分组。




相关用法


注:本文由纯净天空筛选整理自tarun007大神的英文原创作品 D3.js nest() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。