當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。