Charts

Pie Chart

Build pie and donut charts for part-to-whole comparisons

Pie charts display data as proportional slices of a circle.

Simple Pie Chart

Donut Chart

Set innerRadius to create a donut.

Pie Chart with Labels

Set :label="true" to show labels outside each slice.

Half Pie Chart

Use startAngle and endAngle to create a semicircle.

PieChart props

<PieChart> takes the chart container props, including the polar props. Its tooltip shows one sector at a time.

Pie props

PropTypeDefaultDescription
data-keyrow path or accessorrequiredField with the value
name-keyrow path or accessor'name'Field with the sector name; a sector without one takes name, else a string data-key, else its row index
dataArraythe chart's dataRows for this pie
cx, cynumber | string'50%'Center
inner-radiusnumber | string0Inner radius; above 0 draws a donut
outer-radiusnumber | string | function'80%'Outer radius
start-anglenumber0Start angle in degrees
end-anglenumber360End angle in degrees
padding-anglenumber0Gap between sectors in degrees
corner-radiusnumber | string—Rounds the corners of every sector, in px
min-anglenumber0Minimum sector angle, so small values stay visible
fillstringseries palette per sectorSector fill; <Cell> sets one sector
strokestring'var(--v-charts-background, #fff)'Sector outline
labelbooleanfalseShow a label outside every sector
label-linebooleantrueDraw a line from the sector to its label
active-indexnumber | null—Active sector, for v-model:active-index
namestring | number—Series name in the tooltip; legend name of sectors without their own
legend-typeLegendType'rect'Legend icon
tooltip-type'none'—Set 'none' to leave the series out of the tooltip
hidebooleanfalseHide the series
classstring—Class on the series layer
is-animation-activebooleanthe chart's valueAnimate this series
transitionChartTransitionthe chart's valueTiming and easing of data changes

Events: @click, @mouseenter, @mouseleave with (sector, index, event), update:activeIndex, and @animation-start, @animation-end.

Pie slots

SlotPropsDescription
#shapePieSectorDataItem & { isActive }Replace a sector
#activeShapePieSectorDataItem & { isActive }Replace the active sector
#labelPieSectorDataItem & { index }Replace a sector label
default—<Cell> for per-sector colors, <LabelList>
Copyright © 2026