Sections

This sample uses C# 13 preview features such as partial properties, it also uses features from the CommunityToolkit.Mvvm package, you can learn more about it here.

This web site wraps every sample using a ContentPage instance, but LiveCharts controls can be used inside any container.

sample image

View model

using SkiaSharp;
using LiveChartsCore.Defaults;
using LiveChartsCore.SkiaSharpView;
using LiveChartsCore.SkiaSharpView.Painting;
using LiveChartsCore.SkiaSharpView.Painting.Effects;

namespace ViewModelsSamples.General.Sections2;

public class ViewModel
{
    public ObservablePoint[] Values { get; set; } = [
        new(2.2, 5.4), new(4.5, 2.5), new(4.2, 7.4),
        new(6.4, 9.9), new(4.2, 9.2), new(5.8, 3.5),
        new(7.3, 5.8), new(8.9, 3.9), new(6.1, 4.6),
        new(9.4, 7.7), new(8.4, 8.5), new(3.6, 9.6),
        new(4.4, 6.3), new(5.8, 4.8), new(6.9, 3.4),
        new(7.6, 1.8), new(8.3, 8.3), new(9.9, 5.2),
        new(8.1, 4.7), new(7.4, 3.9), new(6.8, 2.3)
    ];

    public RectangularSection[] Sections { get; set; } = [
        new RectangularSection
        {
            Yi = 8,
            Yj = 8,
            Stroke = new SolidColorPaint
            {
                Color = SKColors.Red,
                StrokeThickness = 3,
                PathEffect = new DashEffect([6, 6])
            }
        },
        new RectangularSection
        {
            Xi = 4,
            Xj = 6,
            Fill = new SolidColorPaint(SKColors.Blue.WithAlpha(20))
        },
    ];
}

XAML

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    x:Class="MauiSample.General.Sections2.View"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:lvc="clr-namespace:LiveChartsCore.SkiaSharpView.Maui;assembly=LiveChartsCore.SkiaSharpView.Maui"
    xmlns:vms="clr-namespace:ViewModelsSamples.General.Sections2;assembly=ViewModelsSamples"
    x:DataType="vms:ViewModel">
    
    <ContentPage.BindingContext>
        <vms:ViewModel/>
    </ContentPage.BindingContext>

    <lvc:CartesianChart>

        <lvc:CartesianChart.Series>
            <lvc:SeriesCollection>
                <lvc:XamlScatterSeries
                    Values="{Binding Values}"
                    GeometrySize="10"
                    Stroke="{lvc:SolidColorPaint Color='#00f'}"
                    Fill="{x:Null}"/>
            </lvc:SeriesCollection>
        </lvc:CartesianChart.Series>

        <lvc:CartesianChart.Sections>
            <lvc:SectionsCollection>
                <lvc:XamlRectangularSection
                    Yi="8"
                    Yj="8"
                    Stroke="{lvc:SolidColorPaint
                        Color='#F00',
                        StrokeWidth=3,
                        PathEffect={lvc:Dashed Array='6, 6'}}"/>

                <lvc:XamlRectangularSection
                    Xi="6"
                    Xj="8"
                    Fill="{lvc:SolidColorPaint Color='#300000FF'}"/>
            </lvc:SectionsCollection>
        </lvc:CartesianChart.Sections>
    </lvc:CartesianChart>
</ContentPage>

Articles you might also find useful: