Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Chart examples · Pie

A donut chart for React

A donut chart of visitors by browser, a pie with an empty center.

Framework
UI library

A pie with an empty center, lighter than a full pie and with room for a number or a caption in the middle. Each browser's slice takes its color from the data, and the tooltip names the browser and its count.

Preview

Preview width

Installation

Sign in to get your install command
Free with an account. It carries your token, so the CLI installs everything in one go.

FAQ

How is the center hole made?

Pie sets innerRadius to 60. dataKey is visitors and nameKey is browser, so each slice is one browser's visitor count.

How does each slice get its color?

Each row sets fill to a variable such as var(--color-chrome). config maps chrome, safari, firefox, edge, and other to --chart-1 through --chart-5, with labels Chrome, Safari, Firefox, Edge, and Other.

What does the tooltip show?

ChartTooltipContent sets hideLabel, and cursor is false. The slice name comes from nameKey browser, looked up in config, and the value is visitors.

Why is the chart square?

ChartContainer uses mx-auto aspect-square max-h-[250px], so the donut stays square and caps at 250px tall. The outer frame is w-full max-w-xl.

What is the visitors entry in config for?

visitors has the label Visitors and no color. Slice colors live on the browser keys. The tooltip uses those browser labels when it names a slice.

Which counts are in the ring?

Chrome is 275, Safari 200, Firefox 187, Edge 173, and Other 90. The data keys are lowercase. config supplies the display labels.