The d3.contourDensity() function is used to construct a new density estimator function with the default settings. A density estimator function estimates the density for the given set of data.
Syntax:
d3.contourDensity();
Parameters: This function does not take any parameters.
Return Value: This function returns a function.
Below given are a few examples of the function given above.
Example 1:
<!DOCTYPE html> < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content="     width = device -width, initial-scale = 1 .0">       < script type = "text/javascript"     </ script >     </ script > </ head > < body >     < h1 style = "color:green" >neveropen</ h1 >           < script >         // append the svg object to the body.         var svg = d3.select("body")         .append("svg")         .attr("width", 530)         .attr("height", 480)         .append("g")         .attr("transform",         "translate(" + 40 + ", " + 0 + ")");           // Read data         d3.csv("./data.csv", function(data) {                           var y = d3.scaleLinear()             .domain([5, 30])             .range([ 450, 10 ]);               var x = d3.scaleLinear()             .domain([5, 22])             .range([ 0, 460]);                 svg.append("g")             .call(d3.axisLeft(y));                       svg.append("g")             .attr("transform","translate(0, " + 450 + ")")             .call(d3.axisBottom(x));               var densityData = d3.contourDensity()             .y(function(d) { return y(d.y); })             .x(function(d) { return x(d.x); })(data)               svg.selectAll("path")             .data(densityData)             .enter()             .append("path")             .attr("d", d3.geoPath())             .attr("fill", "none")             .attr("stroke", "green")         });           // Data for csv file         // x, y, group         // 11.45, 14.2, H         // 11.1, 14.2, H         // 11.9, 9.9, H         // 11.6, 14.5, H         // 11.1, 11.7, H         // 14.7, 9.5, H         // 7.9, 11.6, H         // 14.7, 11.7, H         // 11.45, 14.2, H         // 12.1, 9.2, H         // 7.5, 11, H         // 14.5, 14.5, H         // 11.45, 9.7, H         // 14.45, 11.6, H         // 11.5, 7.6, H         // 11, 11.45, H         // 14.7, 12, H         // 11.7, 9.7, H         // 9.6, 9, H         // 12, 11, H         // 11.45, 14.5, H         // 11.11, 14.6, H         // 12.7, 11.11, H         // 11, 12.2, H         // 11, 14.9, H         // 9.5, 11.7, H         // 11.7, 14.7, H         // 11.9, 14.5, H         // 14, 14.5, H         // 7.11, 11, H         // 11.11, 11.45, H         // 11, 14.2, H         // 14.7, 11.7, H         // 14.5, 11.9, H     </ script > </ body > </ html > |
Output:
Example 2:
<!DOCTYPE html> < html lang = "en" > < head >     < meta charset = "UTF-8" >     < meta name = "viewport" content="     width = device -width, initial-scale = 1 .0">       < script type = "text/javascript"     </ script >     </ script > </ head >   < body >     < h1 style = "color:green" >neveropen</ h1 >           < script >         // Append the svg object to the body.         var svg = d3.select("body")         .append("svg")         .attr("width", 530)         .attr("height", 480)         .append("g")         .attr("transform",         "translate(" + 40 + ", " + 0 + ")");           // Read data         d3.csv("./data.csv", function(data) {                           var y = d3.scaleLinear()             .domain([5, 30])             .range([ 450, 10 ]);               var x = d3.scaleLinear()             .domain([5, 22])             .range([ 0, 460]);               svg.append("g")             .call(d3.axisLeft(y));                       svg.append("g")             .attr("transform","translate(0, " + 450 + ")")             .call(d3.axisBottom(x));               var densityData = d3.contourDensity()             .y(function(d) { return y(d.y); })             .bandwidth(44)             .x(function(d) { return x(d.x); })(data)               svg.selectAll("path")             .data(densityData)             .enter()             .append("path")             .attr("d", d3.geoPath())             .attr("fill", "green")             .attr("stroke", "black")         });           // Data for csv file         // x, y, group         // 11.45, 14.2, H         // 11.1, 14.2, H         // 11.9, 9.9, H         // 11.6, 14.5, H         // 11.1, 11.7, H         // 14.7, 9.5, H         // 7.9, 11.6, H         // 14.7, 11.7, H         // 11.45, 14.2, H         // 12.1, 9.2, H         // 7.5, 11, H         // 14.5, 14.5, H         // 11.45, 9.7, H         // 14.45, 11.6, H         // 11.5, 7.6, H         // 11, 11.45, H         // 14.7, 12, H         // 11.7, 9.7, H         // 9.6, 9, H         // 12, 11, H         // 11.45, 14.5, H         // 11.11, 14.6, H         // 12.7, 11.11, H         // 11, 12.2, H         // 11, 14.9, H         // 9.5, 11.7, H         // 11.7, 14.7, H         // 11.9, 14.5, H         // 14, 14.5, H         // 7.11, 11, H         // 11.11, 11.45, H         // 11, 14.2, H         // 14.7, 11.7, H         // 14.5, 11.9, H     </ script > </ body > </ html > |
Output: