The d3.pie() is used to construct a pie generator that has its default settings. This pie generator takes an array of data and then returns an array of objects that contains details about each arc angle.
Syntax:
d3.pie();
Parameters: This function does not accept any parameters.
Return Values: This function returns a pie generator.
Below given are a few examples of the function given above.
Example 1:
HTML
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" /> < meta name = "viewport" content=" width = device -width, initial-scale = 1 .0"/> <!--Fetching from CDN of D3.js --> < script src = </ script > </ head > < body > < div style = "width:300px; height:300px;" > < center > < h1 style = "color:green" > neveropen </ h1 > < h2 > d3.pie() </ h2 > </ center > < svg width = "300" height = "300" > </ svg > </ div > < script > var data = [1.1,2.2,4.46,2.12,1.36,5.002445,4.1242]; // Selecting SVG using d3.select() var svg = d3.select("svg"); let g = svg.append("g") .attr("transform", "translate(150,120)"); // Creating Pie generator var pie = d3.pie(); // Creating arc var arc = d3.arc() .innerRadius(0) .outerRadius(100); // Grouping different arcs var arcs = g.selectAll("arc") .data(pie(data)) .enter() .append("g"); // Appending path arcs.append("path") .attr("fill", (data, i)=>{ let value=data.data; return d3.schemeSet3[i]; }) .attr("d", arc); </ script > </ body > </ html > |
Output:
Example 2:
HTML
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" /> < meta name = "viewport" content=" width = device -width, initial-scale = 1 .0"/> <!--Fetching from CDN of D3.js --> < script src = </ script > </ head > < body > < div style = "width:300px; height:300px;" > < center > < h1 style = "color:green" > neveropen </ h1 > < h2 > d3.pie() </ h2 > </ center > < svg width = "300" height = "300" > </ svg > </ div > < script > var data = [1,2,4.4,2,1,5,4]; // Selecting SVG using d3.select() var svg = d3.select("svg"); // Creating Pie generator var pie = d3.pie(); // Creating arc var arc = d3.arc() .innerRadius(0) .outerRadius(100); let g = svg.append("g") .attr("transform", "translate(150,120)"); // Grouping different arcs var arcs = g.selectAll("arc") .data(pie(data)) .enter() .append("g"); // Appending path arcs.append("path") .attr("fill", (data, i)=>{ let value=data.data; return d3.schemeSet3[i+1]; }) .attr("d", arc); // Adding data to each arc arcs.append("text") .attr("transform",(d)=>{ return "translate("+ arc.centroid(d) + ")"; }) .text(function(d){ return d.data; }); </ script > </ body > </ html > |
Output: