Having trouble getting help?
Contact Support
Contact Support
Stacked Group Chart in WinUI Chart (SfCartesianChart)
2 Jan 20254 minutes to read
Chart provides support to group the stacked similar series by using the GroupName property of stacked series. The stacked series which contains the same GroupName will be stacked in a single group.
<chart:SfCartesianChart>
<chart:SfCartesianChart.XAxes>
<chart:CategoryAxis LabelPlacement="BetweenTicks"/>
</chart:SfCartesianChart.XAxes>
<chart:SfCartesianChart.YAxes>
<chart:NumericalAxis />
</chart:SfCartesianChart.YAxes>
<chart:StackedColumnSeries GroupName="Group1"
XBindingPath="Year"
YBindingPath="Quarter1"
ItemsSource="{Binding AnnualDetails}"/>
<chart:StackedColumnSeries GroupName="Group1"
XBindingPath="Year"
YBindingPath="Quarter2"
ItemsSource="{Binding AnnualDetails}"/>
<chart:StackedColumnSeries GroupName="Group2"
XBindingPath="Year"
YBindingPath="Quarter3"
ItemsSource="{Binding AnnualDetails}"/>
<chart:StackedColumnSeries GroupName="Group2"
XBindingPath="Year"
YBindingPath="Quarter4"
ItemsSource="{Binding AnnualDetails}"/>
</chart:SfCartesianChart>
SfCartesianChart chart = new SfCartesianChart();
ViewModel viewModel = new ViewModel();
CategoryAxis primaryAxis = new CategoryAxis();
primaryAxis.LabelPlacement = LabelPlacement.BetweenTicks;
chart.XAxes.Add(primaryAxis);
NumericalAxis secondaryAxis = new NumericalAxis();
chart.YAxes.Add(secondaryAxis);
StackedColumnSeries series1 = new StackedColumnSeries()
{
ItemsSource = viewModel.AnnualDetails,
XBindingPath = "Year",
YBindingPath = "Quarter1",
GroupName = "Group1",
};
StackedColumnSeries series2 = new StackedColumnSeries()
{
ItemsSource = viewModel.AnnualDetails,
XBindingPath = "Year",
YBindingPath = "Quarter2",
GroupName = "Group1",
};
StackedColumnSeries series3 = new StackedColumnSeries()
{
ItemsSource = viewModel.AnnualDetails,
XBindingPath = "Year",
YBindingPath = "Quarter3",
GroupName = "Group2",
};
StackedColumnSeries series4 = new StackedColumnSeries()
{
ItemsSource = viewModel.AnnualDetails,
XBindingPath = "Year",
YBindingPath = "Quarter4",
GroupName = "Group2",
};
chart.Series.Add(series1);
chart.Series.Add(series2);
chart.Series.Add(series3);
chart.Series.Add(series4);
...