![]() |
VOOZH | about |
Syncfusion AI Assistant
10 Jun 202616 minutes to read
This section explains how to populate the circular chart with data, a title, data labels, a legend, and tooltips, as well as the essential aspects for getting started with the circular chart.
To get start quickly with our .NET MAUI Circular Chart, you can check the below video.
Before proceeding, ensure the following are set up:
Syncfusion.Maui.Core nuget is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Controls.Xaml;
using Syncfusion.Maui.Core.Hosting;
namespace ChartGettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
}Syncfusion.Maui.Charts namespace.<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts">
<chart:SfCircularChart/>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainPage()
{
this.InitializeComponent();
SfCircularChart chart = new SfCircularChart();
this.Content = chart;
}
}Before proceeding, ensure the following are set up:
Ctrl+Shift+P and type .NET:New Project and enter.dotnet add package Syncfusion.Maui.Charts to install the Syncfusion® .NET MAUI Charts NuGet package.dotnet restore.Syncfusion.Maui.Core nuget is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Controls.Xaml;
using Syncfusion.Maui.Core.Hosting;
namespace ChartGettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
}Syncfusion.Maui.Charts namespace.<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts">
<chart:SfCircularChart/>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainPage()
{
this.InitializeComponent();
SfCircularChart chart = new SfCircularChart();
this.Content = chart;
}
}Before proceeding, ensure the following are set up:
dotnet restore
Syncfusion.Maui.Core nuget is a dependent package for all Syncfusion® controls of .NET MAUI. In the MauiProgram.cs file, register the handler for Syncfusion® core.
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
using Microsoft.Maui.Controls.Compatibility;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Controls.Xaml;
using Syncfusion.Maui.Core.Hosting;
namespace ChartGettingStarted
{
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureSyncfusionCore()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
}Syncfusion.Maui.Charts namespace.<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts">
<chart:SfCircularChart/>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainPage()
{
this.InitializeComponent();
SfCircularChart chart = new SfCircularChart();
this.Content = chart;
}
}Now, let us define a simple data model that represents a data point in the chart.
public class SalesModel
{
public string Product { get; set; }
public double SalesRate { get; set; }
}Next, create a SalesViewModel class and initialize a list of SalesModel objects as follows.
public class SalesViewModel
{
public List<SalesModel> Data { get; set; }
public SalesViewModel()
{
Data = new List<SalesModel>()
{
new SalesModel(){Product = "iPad", SalesRate = 25},
new SalesModel(){Product = "iPhone", SalesRate = 35},
new SalesModel(){Product = "MacBook", SalesRate = 15},
new SalesModel(){Product = "Mac", SalesRate = 5},
new SalesModel(){Product = "Others", SalesRate = 10},
};
}
}Create a SalesViewModel instance and set it as the chart’s BindingContext. This enables property binding from SalesViewModel class.
NOTE
Add namespace of
SalesViewModelclass to your XAML Page, if you prefer to setBindingContextin XAML.
<ContentPage
. . .
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts"
xmlns:model="clr-namespace:ChartGettingStarted">
<chart:SfCircularChart>
<chart:SfCircularChart.BindingContext>
<model:SalesViewModel/>
</chart:SfCircularChart.BindingContext>
</chart:SfCircularChart>
</ContentPage>SfCircularChart chart = new SfCircularChart();
this.BindingContext = new SalesViewModel();
this.Content = chart;Adding PieSeries to the charts Series collection and binding Data to the series ItemsSource property from its BindingContext to create our own Product Sales Pie chart.
NOTE
The circular chart has Series as its default content.
NOTE
To plot the series, the XBindingPath and YBindingPath properties must be configured so that the chart may get values from the respective properties in the data model.
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ChartGettingStarted.MainPage"
xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts"
xmlns:model="clr-namespace:ChartGettingStarted">
<chart:SfCircularChart>
<chart:SfCircularChart.Title>
<Label Text="PRODUCT SALES"/>
</chart:SfCircularChart.Title>
<chart:SfCircularChart.BindingContext>
<model:SalesViewModel/>
</chart:SfCircularChart.BindingContext>
<chart:SfCircularChart.Legend>
<chart:ChartLegend/>
</chart:SfCircularChart.Legend>
<chart:PieSeries ItemsSource="{Binding Data}"
XBindingPath="Product"
YBindingPath="SalesRate"
ShowDataLabels="True"
EnableTooltip="True"/>
</chart:SfCircularChart>
</ContentPage>using Syncfusion.Maui.Charts;
. . .
public partial class MainPage : ContentPage
{
public MainWindow()
{
SfCircularChart chart = new SfCircularChart();
chart.Title = new Label()
{
Text = "PRODUCT SALES"
};
chart.Legend = new ChartLegend();
SalesViewModel viewModel = new SalesViewModel();
chart.BindingContext = viewModel;
PieSeries series = new PieSeries();
series.ItemsSource = viewModel.Data;
series.XBindingPath = "Product";
series.YBindingPath = "SalesRate";
series.EnableTooltip = true;
series.ShowDataLabels = true;
chart.Series.Add(series);
this.Content = chart;
}
}The following screenshot illustrates the result of the above code.
👁 Pie chart in .NET MAUI Chart
You can find the complete getting started sample from this link.