diff --git a/packages/mermaid/src/diagrams/pie/pieRenderer.ts b/packages/mermaid/src/diagrams/pie/pieRenderer.ts index 5ef0818426..80f4f0a5a4 100644 --- a/packages/mermaid/src/diagrams/pie/pieRenderer.ts +++ b/packages/mermaid/src/diagrams/pie/pieRenderer.ts @@ -12,14 +12,16 @@ import { selectSvgElement } from '../../rendering-util/selectSvgElement.js'; const createPieArcs = (sections: Sections): d3.PieArcDatum[] => { // Compute the position of each group on the pie: - const pieData: D3Sections[] = Object.entries(sections).map( - (element: [string, number]): D3Sections => { + const pieData: D3Sections[] = Object.entries(sections) + .map((element: [string, number]): D3Sections => { return { label: element[0], value: element[1], }; - } - ); + }) + .sort((a: D3Sections, b: D3Sections): number => { + return b.value - a.value; + }); const pie: d3.Pie = d3pie().value( (d3Section: D3Sections): number => d3Section.value );