Implement Syncfusion WinUI Circular Charts (SfCircularChart) with pie and doughnut visualizations for proportional data display. Use this when working with circular charts, pie charts, or doughnut charts in WinUI applications. This skill covers chart series configuration, data labels, legends, tooltips, segment selection, exploding segments, and visual customization for interactive circular visualizations.
This skill guides you in implementing Syncfusion WinUI Circular Charts (SfCircularChart) for visualizing proportional data with pie and doughnut charts. The component provides rich interactive features including legends, data labels, tooltips, selection, and segment explosion.
Use this skill when the user needs to:
Syncfusion SfCircularChart is a powerful data visualization component for WinUI that displays data in circular formats. It supports:
📄 Read: references/getting-started.md
Read this reference when the user needs to:
📄 Read: references/pie-charts.md
Read this reference when the user needs to:
📄 Read: references/doughnut-charts.md
Read this reference when the user needs to:
📄 Read: references/legend.md
Read this reference when the user needs to:
📄 Read: references/data-labels.md
Read this reference when the user needs to:
📄 Read: references/tooltips.md
Read this reference when the user needs to:
📄 Read: references/title-header.md
Read this reference when the user needs to:
📄 Read: references/selection.md
Read this reference when the user needs to:
📄 Read: references/explode-segments.md
Read this reference when the user needs to:
📄 Read: references/appearance.md
Read this reference when the user needs to:
Here's a minimal example to create a basic pie chart:
1. Install NuGet Package:
Install-Package Syncfusion.Chart.WinUI
2. Create Data Model and ViewModel:
public class Sales
{
public string Product { get; set; }
public double SalesRate { get; set; }
}
public class ChartViewModel
{
public List<Sales> Data { get; set; }
public ChartViewModel()
{
Data = new List<Sales>()
{
new Sales() { Product = "iPad", SalesRate = 25 },
new Sales() { Product = "iPhone", SalesRate = 35 },
new Sales() { Product = "MacBook", SalesRate = 15 },
new Sales() { Product = "Mac", SalesRate = 5 },
new Sales() { Product = "Others", SalesRate = 10 }
};
}
}
3. Create Circular Chart in XAML:
<Window
xmlns:chart="using:Syncfusion.UI.Xaml.Charts"
xmlns:model="using:YourNamespace.ViewModel">
<chart:SfCircularChart Header="Product Sales">
<!-- Set DataContext -->
<chart:SfCircularChart.DataContext>
<model:ChartViewModel/>
</chart:SfCircularChart.DataContext>
<!-- Add Legend -->
<chart:SfCircularChart.Legend>
<chart:ChartLegend/>
</chart:SfCircularChart.Legend>
<!-- Add Pie Series -->
<chart:SfCircularChart.Series>
<chart:PieSeries ItemsSource="{Binding Data}"
XBindingPath="Product"
YBindingPath="SalesRate"
ShowDataLabels="True"
EnableTooltip="True"/>
</chart:SfCircularChart.Series>
</chart:SfCircularChart>
</Window>
4. Or Create in C#:
SfCircularChart chart = new SfCircularChart();
chart.Header = "Product Sales";
chart.DataContext = new ChartViewModel();
chart.Legend = new ChartLegend();
PieSeries series = new PieSeries();
series.SetBinding(PieSeries.ItemsSourceProperty, new Binding() { Path = new PropertyPath("Data") });
series.XBindingPath = "Product";
series.YBindingPath = "SalesRate";
series.ShowDataLabels = true;
series.EnableTooltip = true;
chart.Series.Add(series);
this.Content = chart;
<chart:SfCircularChart Header="Sales Distribution">
<chart:SfCircularChart.Legend>
<chart:ChartLegend/>
</chart:SfCircularChart.Legend>
<chart:SfCircularChart.Series>
<chart:PieSeries ItemsSource="{Binding Data}"
XBindingPath="Category"
YBindingPath="Value"
ShowDataLabels="True">
<chart:PieSeries.DataLabelSettings>
<chart:CircularDataLabelSettings Context="Percentage"
Position="Outside"
ShowConnectorLine="True"/>
</chart:PieSeries.DataLabelSettings>
</chart:PieSeries>
</chart:SfCircularChart.Series>
</chart:SfCircularChart>
<chart:SfCircularChart>
<chart:SfCircularChart.Resources>
<BrushCollection x:Key="customBrushes">
<SolidColorBrush Color="#4dd0e1"/>
<SolidColorBrush Color="#26c6da"/>
<SolidColorBrush Color="#00bcd4"/>
</BrushCollection>
</chart:SfCircularChart.Resources>
<chart:SfCircularChart.Series>
<chart:DoughnutSeries ItemsSource="{Binding Data}"
XBindingPath="Name"
YBindingPath="Amount"
InnerRadius="0.6"
PaletteBrushes="{StaticResource customBrushes}"/>
</chart:SfCircularChart.Series>
</chart:SfCircularChart>
<chart:SfCircularChart>
<chart:SfCircularChart.Series>
<chart:PieSeries ItemsSource="{Binding Data}"
XBindingPath="Product"
YBindingPath="Sales"
ExplodeOnTap="True"
ExplodeRadius="10">
<chart:PieSeries.SelectionBehavior>
<chart:DataPointSelectionBehavior SelectionBrush="Orange"
Type="Single"/>
</chart:PieSeries.SelectionBehavior>
</chart:PieSeries>
</chart:SfCircularChart.Series>
</chart:SfCircularChart>
<chart:SfCircularChart>
<chart:SfCircularChart.Series>
<chart:PieSeries ItemsSource="{Binding Data}"
XBindingPath="Category"
YBindingPath="Value"
StartAngle="180"
EndAngle="360"
ShowDataLabels="True"/>
</chart:SfCircularChart.Series>
</chart:SfCircularChart>