Donut chart

Segments sweep round a ring one after another, the centre counts up to the total (or the first share), and a legend lists each part.

  • data/donut
  • Data
  • chart
  • Full frame
  • 6 s (3–30 s)
Live in your browser
Donut chart at 16:9
0.00 / 6.00 s
Playing live with volito/browser, the engine a render uses. Each tab lays the item out again for that shape, not a crop.

Render it

npx volito render data/donut --prop title="Where the hours went" --prop centerLabel="on editing" --out donut.mov

That writes ProRes 4444. The same item in another shape, brand or format:

volito render data/donut --aspect 9:16 --style cobalt --out donut-9x16.mov
volito render data/donut --format mp4 --out donut.mp4
volito still data/donut --t 3 --out donut.png
volito info data/donut     # every prop and part
volito add data/donut      # copy its source into ./motion to edit

From Node:

import { findItem, renderVideo } from "volito";

await renderVideo(findItem("data/donut"), { props: { title: "Where the hours went", centerLabel: "on editing" }, out: "donut.mov" });

Or ask an agent with the MCP server connected: “Render the Volito donut chart (data/donut) in 9:16, in our brand.”

Props

Set each with --prop name=value, or all at once with --props and a JSON object.

PropTypeDefaultTakes
titletextWhere the hours went≤ 50 chars
rows
Rows (Label: value)
list{"label":"Editing","value":46}; {"label":"Rendering","value":12}; {"label":"Review","value":18}; {"label":"Publishing","value":9}—
center
Centre shows
choicefirst sharetotal | first share
centerLabel
Centre label
texton editing≤ 20 chars
prefix
Before numbers
text—≤ 3 chars
suffix
After numbers
text h≤ 6 chars
decimalsnumber00 – 3

Parts

Each part takes any move, ease or idle: --motion ground.in=pop.

PartWhat it is
groundthe ground
titlethe heading
ringthe segments
centerthe number in the middle
legendthe legend

Tags: chart, donut, pie, share, data

More in Data