Angular Donut Chart
Donut charts are circular charts that represent a variation of the Angular Pie charts and are capable of displaying multiple nested series.
Binding to Data
You can bind the Donut chart series to an array through the data property in three formats:
-
Binding to numbers—Use a simple array of numeric values where each number represents a data point value. The chart auto-generates categories.
tspublic data: number[] = [35, 25, 20, 20]; -
Binding to arrays—Use arrays of
[value, category]pairs where the first element is the data point value and the second element is the category name.tspublic data: [number, string][] = [ [35, 'Apples'], [25, 'Oranges'], [20, 'Bananas'], [20, 'Grapes'] ]; -
Binding to objects—Use an array of objects with custom properties.
tspublic data: Array<{ value: number; category: string; color?: string; explode?: boolean }> = [ { value: 35, category: 'Apples', color: '#ff6358', explode: true }, { value: 25, category: 'Oranges', color: '#ffd246' }, { value: 20, category: 'Bananas', color: '#28b4c8' }, { value: 20, category: 'Grapes', color: '#2d73f5' } ];When binding to objects, specify which properties contain the data through the following field mappings:
Property Data type Required Description fieldstringYes* The property name that contains the numeric value (*required when binding to objects). categoryFieldstringNo The property name that contains the category with string,date, ornumbervalues.colorFieldstringNo The property name that contains the color with stringvalues.explodeFieldstringNo The property name that contains the explode state with booleanvalues.
The following example demonstrates how to bind the Donut chart series to data using object models.
Displaying Labels in Angular Donut Chart
The following example demonstrates displaying labels on the outside of the Angular Donut chart. Use the Series autoFit option to avoid clipping of the labels' content.
Angular Donut Chart Label Alignment
The Angular Donut charts support two modes of label alignment:
"circle"(default)—The labels are positioned in circle around the Chart."column"—The labels are positioned in columns to the left and right of the Chart.
To select the alignment mode, set the align attribute on the Series Labels:
Displaying Multiple Series
The Donut chart renders multiple series in the form of concentric rings. This behavior is different from the behavior of the Pie chart, which supports only one series.
Displaying Information in the Center
Using the Center Template
The center template is an HTML overlay that is positioned over the center of the Donut chart. To implement the content, use the normal Angular template syntax and include arbitrary markup.
While documents, which are exported through the HTML Drawing API display the content of the center template, vector graphics and exported files do not render it.
Using Drawing Visuals
Similar to the other chart types, you can overlay the Donut series with custom drawing elements. The approach of using drawing visuals is more flexible than using the donut center template and also has the advantage that the overlay is part of the chart drawing surface. As a result, all exported files render the content of the donut center as an integral element of the component.
Support and Learning Resources
- Donut Chart Homepage
- Getting Started with the Kendo UI for Angular Chart
- API Reference of the Charts
- Pie Charts
- Getting Started with Kendo UI for Angular (Online Guide)
- Getting Started with Kendo UI for Angular (Video Tutorial)
- Video Courses
- Chart Forum
- Before You Start: All Things Angular (Telerik Blog Post)
- Knowledge Base