<!DOCTYPE html>
<
html
>
<
head
>
<
meta
charset
=
"utf-8"
>
</
script
>
<
script
src
=
</
script
>
<
script
src
=
</
script
>
</
head
>
<
body
>
<
center
>
<
h1
style
=
"color:green;"
>GeeksForGeeks</
h1
>
<
h3
>D3.js | chord.sortSubgroups() Function</
h3
>
<
div
id
=
"GFG"
></
div
>
<
script
>
// Create the svg area
var svg = d3.select("#GFG")
.append("svg")
.attr("width", 340)
.attr("height", 340)
.append("g")
.attr("transform", "translate(170, 170)")
// Create input data
var data = [[0, 71, 89, 68, 71, 89, 68],
[ 11, 0, 60, 71, 9, 9, 0],
[ 10, 145, 0, 85, 145, 0, 85],
[ 13, 9, 9, 0, 0, 60, 71],
[ 13, 9, 9, 0, 0, 60, 71],
[ 10, 145, 0, 85, 145, 0, 85],
[0, 71, 89, 68, 71, 89, 68]];
// 4 groups, so create a vector of 4 colors
var colors_1 = [d3.schemeSet1[0],
d3.schemeCategory10[1],
d3.schemeCategory10[2], d3.schemeCategory10[3],
d3.schemeCategory10[4], d3.schemeCategory10[5],
d3.schemeCategory10[6]];
var colors = [d3.schemeSet1[0], d3.schemeSet1[1],
d3.schemeSet1[2], d3.schemeSet1[3],
d3.schemeSet1[4], d3.schemeSet1[5],
d3.schemeSet1[6]];
// Give this matrix to d3.chord()
var chords = d3.chord()
.padAngle(0.2)
// Use of chord.sortSubgroups() Function
.sortSubgroups(d3.descending)
(data)
svg.datum(chords)
.append("g")
.selectAll("g")
.data(function (d) { return d.groups; })
.enter()
.append("g")
.append("path")
.style("fill", function (d, i) {
return colors[i]
})
.style("stroke", "black")
.attr("d", d3.arc()
.innerRadius(150)
.outerRadius(160)
)
svg.datum(chords)
.append("g")
.selectAll("path")
.data(function (d) { return d; })
.enter()
.append("path")
.attr("d", d3.ribbon()
.radius(150)
)
.style("fill", function (d, i) {
return colors_1[i]
})
.style("stroke", "black");
</
script
>
</
center
>
</
body
>
</
html
>