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


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


D3.js中的bisector()函数用于使用指定的访问器或比较器函数返回新的平分线。此方法可用于将对象数组二等分,而不仅限于简单的基元数组。

用法:

d3.bisector(accessor)
d3.bisector(comparator)

参数:此函数仅接受上面提到并在下面描述的一个参数:

  • accessor/comparator:该参数可以是访问器或比较器函数。

返回值:此函数返回新的平分线。

下面给出了上述函数的一些示例。



范例1:该程序使用访问参数说明了d3.bisector()的用法。

<!DOCTYPE html>  
<html>  
    
<head>  
    <title>D3.js d3.bisector() Function</title>  
    
    <script src='https://d3js.org/d3.v4.min.js'> 
   </script>  
</head>  
    
<body>  
    <script>  
        var data = [ 
          {date:new Date(2011, 1, 1), value:0.5}, 
          {date:new Date(2012, 2, 1), value:0.6}, 
          {date:new Date(2013, 3, 1), value:0.7}, 
          {date:new Date(2014, 4, 1), value:0.8} 
        ];  
    
        var bisectDate =  
d3.bisector(function(d) { return d.date; }).left;  
        var dat = new Date(2014, 4, 1); 
        document.write(bisectDate(data, dat));  
    </script>  
</body>  
    
</html>

输出:

3

范例2:该程序使用比较器函数参数说明了d3.bisector()的用法。

<!DOCTYPE html>  
<html>  
    
<head>  
    <title>D3.js d3.bisector() Function</title>  
    
    <script src='https://d3js.org/d3.v4.min.js'> 
    </script>  
</head>  
    
<body>  
    <script>  
        var data = [ 
          {date:new Date(2011, 1, 1), value:0.5}, 
          {date:new Date(2012, 2, 1), value:0.6}, 
          {date:new Date(2013, 3, 1), value:0.7}, 
          {date:new Date(2014, 4, 1), value:0.8} 
        ];  
    
        var bisectDate =  
d3.bisector(function(d, x) { return d.date - x; }).right; 
        var dat = new Date(2014, 4, 1); 
        document.write(bisectDate(data, dat));  
    </script>  
</body>  
    
</html>

输出:

4




相关用法


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