Skip to content

Progress Charts

ProgressChart shows completion as circular rings. Use it for checklists, readiness scores, quotas, and compact progress summaries with one or more tracked values.

Concentric Rings

import { ProgressChart } from "react-native-chart-kit/v2";

const data = [
  { metric: "Build signed", progress: 0.76 },
  { metric: "QA pass", progress: 0 },
  { metric: "Rollout cap", progress: 0.42 }
];

<ProgressChart
  data={data}
  valueKey="progress"
  labelKey="metric"
  width={410}
  height={260}
  centerLabel={({ average }) => `${Math.round(average * 100)}%`}
/>;

Single Ring

import { ProgressRing } from "react-native-chart-kit/v2";

<ProgressRing
  value={0.76}
  label="Release readiness"
  width={410}
  height={240}
  centerLabel="76%"
/>;

Labels And Data Arrays

Use the labels and data object shape when progress values already come from parallel arrays:

<ProgressChart
  data={{
    labels: ["Build signed", "QA pass", "Rollout cap"],
    data: [0.76, 0, 0.42]
  }}
  width={410}
  height={240}
/>

Values outside 0..1 produce normalization warnings in core and are clamped by geometry so the ring never draws broken arcs.

Zero And Missing Values

Zero and missing rings keep their background tracks and legend rows. Values above 1 are clamped visually while their source value remains available in the model.

<ProgressChart
  data={[
    { metric: "Brief approved", progress: 0 },
    { metric: "QA pass", progress: null },
    { metric: "Rollout cap", progress: 1.18 }
  ]}
  valueKey="progress"
  labelKey="metric"
  width={410}
  height={260}
/>

Props

ProgressChart

PropTypeDescription
dataProgressChartData<TData>Object-row data or a progress data object with labels and data arrays.
valueKeykeyof TDataRow key used for ring progress values in object-row data.
labelKeykeyof TDataRow key used for ring labels in object-row data.
colorKeykeyof TDataRow key used for ring colors in object-row data.
labelsstring[]Labels used with data arrays.
colorsstring[]Colors used with data arrays or as fallback ring colors.
widthnumberOuter chart width in pixels.
heightnumberOuter chart height in pixels.
theme"light", "dark", "system", or CartesianChartThemeTheme mode or inline theme tokens for this chart.
presetCartesianChartPresetValueBuilt-in or registered preset name used to seed chart colors and typography.
legendboolean or ProgressChartLegendConfigShows and configures the legend.
hideLegendbooleanLegacy-style shortcut for hiding the legend.
centerLabelstring or (props) => stringText rendered in the center of the rings.
strokeWidthnumberRing stroke width in pixels.
ringGapnumberGap between concentric rings.
radiusnumberExplicit outer ring radius in pixels.
animationboolean or ProgressChartAnimationConfigEnables and configures ring entrance/update animation.
strokeLinecapProgressChartStrokeLinecapStroke cap style for progress arcs.
backgroundRingColorstringColor used for ring tracks behind progress arcs.
rendererProgressChartRendererRenderer implementation used for SVG-compatible primitives.
accessibilityLabelstringOverrides the generated accessible chart summary.
testIDstringTest identifier applied to the chart container.
formatPercentage(value) => stringFormats percentages in labels and accessible output.

ProgressRing

PropTypeDescription
valuenumber, null, or undefinedSingle progress value for the ring, usually between 0 and 1.
labelstringLabel used for the ring and accessible output.
colorstringProgress arc color for the ring.
widthnumberOuter chart width in pixels.
heightnumberOuter chart height in pixels.
theme"light", "dark", "system", or CartesianChartThemeTheme mode or inline theme tokens for this chart.
presetCartesianChartPresetValueBuilt-in or registered preset name used to seed chart colors and typography.
legendboolean or ProgressChartLegendConfigShows and configures the legend.
hideLegendbooleanLegacy-style shortcut for hiding the legend.
centerLabelstring or (props) => stringText rendered in the ring center.
strokeWidthnumberRing stroke width in pixels.
ringGapnumberGap setting inherited from ProgressChart; only relevant when the component is wrapped or extended.
radiusnumberExplicit ring radius in pixels.
animationboolean or ProgressChartAnimationConfigEnables and configures ring entrance/update animation.
strokeLinecapProgressChartStrokeLinecapStroke cap style for the progress arc.
backgroundRingColorstringColor used for the track behind the progress arc.
rendererProgressChartRendererRenderer implementation used for SVG-compatible primitives.
accessibilityLabelstringOverrides the generated accessible chart summary.
testIDstringTest identifier applied to the chart container.
formatPercentage(value) => stringFormats percentages in labels and accessible output.