suiss/uim · Chart

Radial Chart Rings

Three concentric activity rings showing move, exercise and stand progress toward their goals.

Radial Chart Rings is an open-source mobile chart from suiss/uim, drawn with react-native-svg for React Native and Expo, with SwiftUI and Jetpack Compose versions built from the same design tokens. The @esuiss/uim CLI copies its source into your project, so you own the code.

iOS
Radial (rings) on iOS in light mode

Three rings drawn with Svg circles colored through ChartPalette. Each entry in rings has a value and a goal, and the filled arc is capped at a full circle. The whole graphic is one accessible image whose label lists each ring's value and goal. Nothing is interactive.

Installation

$ pnpm dlx @esuiss/uim@latest add radial-chart-rings

The CLI also adds what it builds on: Card, Chart.

Manual

  1. Install the dependencies:
npx expo install react-native-svg
  1. Add the pieces it builds on: Card, Chart.

  2. Copy the source into components/charts/radial-chart-rings.tsx:

uniwind/components/charts/radial-chart-rings.tsx
import { View } from "react-native"
import Svg, { Circle, G } from "react-native-svg"
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "@/components/ui/card"
import { type ChartColor, ChartPalette } from "@/components/ui/chart"

const rings: {
  key: string
  label: string
  value: number
  goal: number
  1. Update the import paths to match your project.

Usage

import { RadialChartRings } from "@/components/charts/radial-chart-rings"
<RadialChartRings />

Replace the values, goals and colors in rings, and change SIZE and BAR to resize the rings. The component takes no props.