Pie & Donut Chart
Pie chart with configurable inner radius for donut mode, label formatting, and slice animations.
Pie Chart
<ArcadiaPieChart TItem="Segment" Data="@data"
NameField="@(d => d.Label)"
ValueField="@(d => d.Amount)"
Height="350" Width="500" />
Donut Chart
<ArcadiaPieChart InnerRadius="70" ... />
Label Formats
<ArcadiaPieChart LabelFormat="PieLabelFormat.Percent" /> // "45%"
<ArcadiaPieChart LabelFormat="PieLabelFormat.Value" /> // "$45,000"
<ArcadiaPieChart LabelFormat="PieLabelFormat.Name" /> // "Sales"
<ArcadiaPieChart LabelFormat="PieLabelFormat.NamePercent" /> // "Sales 45%"
<ArcadiaPieChart LabelFormat="PieLabelFormat.None" /> // No labels
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
NameField | Func<T, string> | — | Category name selector |
ValueField | Func<T, double> | — | Value selector |
InnerRadius | double | 0 | Inner radius (0 = pie, >0 = donut) |
OuterRadius | double? | null | Outer radius override. Null = auto from dimensions |
LabelFormat | PieLabelFormat | Percent | Label display format |
ShowLabels | bool | true | Whether to show labels on slices |
MinLabelPercent | double | 5 | Hide labels on slices below this % |
ValueFormatString | string? | null | Format string for value labels (e.g., “C0” for currency) |
PaddingAngle | double | 0 | Padding angle between slices in degrees |
StartAngle | double | -90 | Start angle in degrees (0 = top, 90 = right) |
SliceStrokeWidth | double | 2 | Stroke width for each pie slice border |
SliceStrokeColor | string | var(--arcadia-color-surface, #fff) | Stroke color for each pie slice border |
Plus all shared ChartBase parameters.
Events
| Event | Type | Description |
|---|---|---|
OnSliceClick | EventCallback<T> | Fired when a pie slice is clicked. Receives the data item for the clicked slice |
OnPointClick | EventCallback<PointClickEventArgs<T>> | Fired when a data point is clicked. Receives item, index, and series context |