Open In App

D3.js bisector() Function

Last Updated : 29 Jul, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

The bisector() Function in D3.js is used to returns a new bisector using the specified accessor or comparator function. This method can be used to bisect arrays of objects instead of being limited to simple arrays of primitives.

Syntax:

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

Parameters: This function accepts only one parameter which is mentioned above and described below:

  • accessor/comparator: This parameter is the can be accessor or comparator function.

Return value: This function returns the new bisector.

Below given are a few examples of the above function.

Example 1: This program illustrates the use of d3.bisector() using the accessor parameters.




<!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>


Output:

3

Example 2: This program illustrates the use of d3.bisector() using the comparator function parameters.




<!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>


Output:

4


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads