Skip to content

Semi donut chart

A split under one headline number.

Definition · Updated Nov 2, 2026

A semi donut chart draws the split as a half ring with the total in the middle, so a headline number and its mix sit together in a short card. Use it for orders by channel, users by platform or any split with a total worth showing.

Pay once. Every update included.

Live preview

Orders by channel3,412 orders by channel: Web 52%, App 28%, Market 14%, Retail 7%.ORDERS3,412WEB 52%APP 28%MARKET 14%RETAIL 7%
Orders by channel
ChannelShare
Web52%
App28%
Market14%
Retail7%

Sample data: 3,412 orders by channel, web 52%, app 28%, market 14%, retail 7%

Size
Data shape
A total and two to five parts
Good for
Orders by channel, users by platform
Avoid when
The card has room for a full ring and a list
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

018 / Semi donut

chart/018-semi-donut
plot · semi donut
Layer
segment · app
Type
Ellipse
Size
460 × 460
Fill
data/cat-2
Group
Marks · 8

Layers

018 / Semi donut

chart/018-semi-donut
plot · semi donut
Layer
segment · app
Type
Ellipse
Size
240 × 240
Fill
data/cat-2
Group
Marks · 8

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels66

Marks88

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

A headline and its mix.

Three signs it fits, and three signs another type fits better.

Is the total the headline?

Amounts per part matter more.

Yes: Keep the semi donut

Is it one moment?

The mix over time.

Yes: Keep the semi donut

Are the parts countable things?

Counts drawn as icons.

Yes: Keep the semi donut

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/018-semi-donut

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendfalsefalse
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/semi-donut
semi-donut.tsx
import { SemiDonut } from "@/components/chartory/semi-donut"import { ordersByChannel } from "./orders-by-channel"export function OrdersByChannel() {  return (    <SemiDonut      data={ordersByChannel}      size="m"      legend={false}    />  )}

Hearth widget

Semi donut as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Semi donut questions.

What people ask before they put a semi donut in a dashboard.

Something else?

hello@usechartory.com
  • In a row under the arc, each with its name (Web 52%, App 28%), and the total sits in the middle (3,412 orders).

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Part of a whole

16 types in Chartory answer this question.