используя библиотеку recharts, я хотел бы создать такую кольцевую диаграмму: https://apexcharts.com/javascript-chart-demos/pie-charts/simple-donut/
в частности, метки значений находятся внутри сегментов круговой диаграммы. единственный пример, который я могу найти в документации, использует пользовательский renderLabel, но я надеялся, что с новым компонентом метки это будет проще: http://recharts.org/en-US/examples/PieChartWithCustomizedLabel
и, следуя этому примеру, это самое близкое, что я могу найти, но метки не центрированы:
вот документы нового компонента Label. я пробовал: <Label position="inside />
вот код для customLabelRendering:
const RADIAN = Math.PI / 180;
const renderCustomizedLabel = ({
cx, cy, midAngle, innerRadius, outerRadius, percent, index,
}) => {
const radius = innerRadius + (outerRadius - innerRadius) * 0.5;
const x = cx + radius * Math.cos(-midAngle * RADIAN);
const y = cy + radius * Math.sin(-midAngle * RADIAN);
return (
<text x={x} y={y} fill="white" textAnchor={x > cx ? 'start' : 'end'} dominantBaseline="central">
{`${(percent * 100).toFixed(0)}%`}
</text>
);
};