From d52ffbf93e14cfb17460345449b768658f2c50d8 Mon Sep 17 00:00:00 2001 From: Hariram4428 Date: Thu, 30 Oct 2025 13:18:44 +0530 Subject: [PATCH] UG docs updated for fastlineseries in toolkit --- maui-toolkit/Cartesian-Charts/EmptyPoints.md | 46 ++++++++++++++++++ .../Customize_EmptyPoints_FastLineSeries.png | Bin 0 -> 14681 bytes 2 files changed, 46 insertions(+) create mode 100644 maui-toolkit/Cartesian-Charts/EmptyPoints_images/Customize_EmptyPoints_FastLineSeries.png diff --git a/maui-toolkit/Cartesian-Charts/EmptyPoints.md b/maui-toolkit/Cartesian-Charts/EmptyPoints.md index d52b5439..50e98fb1 100644 --- a/maui-toolkit/Cartesian-Charts/EmptyPoints.md +++ b/maui-toolkit/Cartesian-Charts/EmptyPoints.md @@ -189,3 +189,49 @@ this.Content = chart; ![Customize EmptyPoints in MAUI Chart](EmptyPoints_images\Customize_EmptyPoints.png) N> EmptyPoint support is not applicable for Histogram and BoxAndWhisker series. + +## Empty Points in FastLineSeries + +### Introduction + +[FastLineSeries](https://help.syncfusion.com/cr/maui-toolkit/Syncfusion.Maui.Toolkit.Charts.FastLineSeries.html) now supports Empty Points through the [EmptyPointMode](https://help.syncfusion.com/cr/maui-toolkit/Syncfusion.Maui.Toolkit.Charts.EmptyPointMode.html) property, offering three modes `None`, `Zero`, and `Average` to control how missing data is visually handled in the chart. + +### Code Example + +{% tabs %} + +{% highlight xaml %} + + + + + +{% endhighlight %} + +{% highlight c# %} + +var chart = new SfCartesianChart(); +var series = new FastLineSeries +{ + ItemsSource = new ViewModel().Data, + XBindingPath = "DateTime", + YBindingPath = "Value", + EmptyPointMode = EmptyPointMode.None +}; +chart.Series.Add(series); +this.Content = chart; + +{% endhighlight %} + +{% endtabs %} + +### Remarks + +- Optimized for large datasets (10K+ points). +- Animations and tooltips work seamlessly with empty points. +- Performance may slightly degrade when handling empty points, as additional calculations are required during rendering. + +![Customize EmptyPoints in MAUI Chart FastLineSeries](EmptyPoints_images\Customize_EmptyPoints_FastLineSeries.png) diff --git a/maui-toolkit/Cartesian-Charts/EmptyPoints_images/Customize_EmptyPoints_FastLineSeries.png b/maui-toolkit/Cartesian-Charts/EmptyPoints_images/Customize_EmptyPoints_FastLineSeries.png new file mode 100644 index 0000000000000000000000000000000000000000..92a5148b7b4fbda93a9cea6914add6fd5a212790 GIT binary patch literal 14681 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