Внедрить круговой индикатор выполнения, используя Recharts - PullRequest
0 голосов
/ 19 декабря 2018

Я использую библиотеку 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>

Текущий выглядит так:

enter image description here

хочу реализовать так:

enter image description here

Как этого добиться?

Спасибо

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Наконец-то получили решение.Вместо обходного пути с 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>
0 голосов
/ 19 декабря 2018

С 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>
...