Внедрить круговой индикатор выполнения, используя Recharts
Я использую библиотеку recharts для PieCharts.
С paddingAngle={0}
в состоянии удалить угол заполнения, но хотите удалить разделитель ячеек (белый цвет).
Код:
const data = [
{ id: "1", name: "L1", value: 75 },
{ id: "2", name: "L2", value: 25 }
];
<PieChart width={50} height={50}>
<text
x={25}
y={25}
textAnchor="middle"
dominantBaseline="middle"
>
25
</text>
<Pie
data={data}
dataKey="value"
innerRadius="80%"
outerRadius="100%"
fill="#82ca9d"
startAngle={90}
endAngle={-270}
paddingAngle={0}
cornerRadius={5}
>
<Cell
key="test"
fill="#CCC"
/>
</Pie>
</PieChart>
Текущий выглядит как:
хочу реализовать так:
Как этого добиться?
Спасибо
2 ответа
Решение
Наконец-то получили решение. Вместо того чтобы делать обходной путь с PieChart
, предложил бы использовать RadialBarChart
Решение:
const data = [
{ name: 'L1', value: 25 }
];
const circleSize = 30;
<RadialBarChart
width={circleSize}
height={circleSize}
cx={circleSize / 2}
cy={circleSize / 2}
innerRadius={12}
outerRadius={18}
barSize={2}
data={data}
startAngle={90}
endAngle={-270}
>
<PolarAngleAxis
type="number"
domain={[0, 100]}
angleAxisId={0}
tick={false}
/>
<RadialBar
background
clockWise
dataKey="value"
cornerRadius={circleSize / 2}
fill="#82ca9d"
/>
<text
x={circleSize / 2}
y={circleSize / 2}
textAnchor="middle"
dominantBaseline="middle"
className="progress-label"
>
25
</text>
</RadialBarChart>
От v.1.2.0
имущество blendStroke
был добавлен в PieChart
, Итак, что вам нужно сделать, это добавить его в свой компонент Pie. Я надеюсь, что это поможет вам!
const data = [
{ id: "1", name: "L1", value: 75 },
{ id: "2", name: "L2", value: 25 }
];
<PieChart width={50} height={50}>
<text
x={25}
y={25}
textAnchor="middle"
dominantBaseline="middle"
>
25
</text>
<Pie
data={data}
dataKey="value"
innerRadius="80%"
outerRadius="100%"
fill="#82ca9d"
startAngle={90}
endAngle={-270}
paddingAngle={0}
blendStroke
>
<Cell
key="test"
fill="#CCC"
/>
</Pie>
</PieChart>