diff --git a/MAUI/Cartesian-Charts/EmptyPoints.md b/MAUI/Cartesian-Charts/EmptyPoints.md new file mode 100644 index 000000000..97d72249e --- /dev/null +++ b/MAUI/Cartesian-Charts/EmptyPoints.md @@ -0,0 +1,192 @@ +--- +layout: post +title: Empty Points in .NET MAUI Chart control | Syncfusion +description: Learn here all about empty points support and its features in Syncfusion® .NET MAUI Chart (SfCartesianChart) control. +platform: maui +control: SfCartesianChart +documentation: ug +keywords: .net maui chart empty points, .net maui empty points customization, syncfusion maui chart empty points, maui chart empty points, .net maui chart empty points visualization, cartesian empty points maui, missing data handling +--- + +# Empty Points in .NET MAUI Chart + +Empty Points are used to indicate missing or null data in a series. These empty points can occur when data is unavailable, improperly formatted, or explicitly set as null or double.NaN. The chart provides options to handle and customize these empty points to enhance visualization and maintain the integrity of data representation. + +[SfCartesianChart](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Charts.SfCartesianChart.html) provides support for empty points, allowing users to handle missing data effectively. + +The data collection that is passed to the chart can have NaN or Null values that are considered as empty points. The empty point can be defined as in the below code example. + +{% highlight C# %} + +ProductSales = new ObservableCollection(); +ProductSales.Add(new Model() { Product = "Electronics", Sales = 60 }); +ProductSales.Add(new Model() { Product = "Clothing", Sales = 40 }); +ProductSales.Add(new Model() { Product = "Groceries", Sales = double.NaN }); +ProductSales.Add(new Model() { Product = "Furniture", Sales = 70 }); +ProductSales.Add(new Model() { Product = "Toys", Sales = 30 }); +ProductSales.Add(new Model() { Product = "Sports", Sales = double.NaN }); +ProductSales.Add(new Model() { Product = "Books", Sales = 50 }); + +{% endhighlight %} + +By default, the `EmptyPointMode` property is `None`. So the empty points will not be rendered as shown in the below. + +![Empty Points in MAUI Chart](EmptyPoints_images/EmptyPoints_Default.png) + +## Empty Point Mode +The `EmptyPointMode` property of series specifies how empty points should be handled. + +This property provides the following options. + +* **None** - Empty points are not rendered. This is the default behavior. +* **Zero** - Empty points will be replaced with zero. +* **Average** - Empty points will be replaced with the average value of the surrounding data points. + +The following code example shows the `EmptyPointMode` as `Zero`. + +{% tabs %} + +{% highlight xaml %} + + + + ..... + + + + + +{% endhighlight %} + +{% highlight c# %} + +SfCartesianChart chart = new SfCartesianChart(); + +..... +LineSeries series = new LineSeries() +{ + ItemsSource = new ViewModel().ProductSales, + XBindingPath = "Product", + YBindingPath = "Sales", + EmptyPointMode = EmptyPointMode.Zero +}; + +chart.Series.Add(series); +this.Content = chart; + +{% endhighlight %} + +{% endtabs %} + +![EmptyPoint Mode Zero in MAUI Chart](EmptyPoints_images/EmptyPoints_Mode_Zero.png) + +The following code example shows the `EmptyPointMode` as `Average`. + +{% tabs %} + +{% highlight xaml %} + + + + ..... + + + + + +{% endhighlight %} + +{% highlight c# %} + +SfCartesianChart chart = new SfCartesianChart(); + +..... +ColumnSeries series = new ColumnSeries() +{ + ItemsSource = new ViewModel().ProductSales, + XBindingPath = "Product", + YBindingPath = "Sales", + EmptyPointMode = EmptyPointMode.Average +}; + +chart.Series.Add(series); +this.Content = chart; + +{% endhighlight %} + +{% endtabs %} + +![EmptyPoint Mode Average in MAUI Chart](EmptyPoints_images/EmptyPoints_Mode_Average.png) + +## Empty Point Customization +The `EmptyPointSettings` property allows you to customize the appearance of empty points in a series. This enables you to adjust various visual aspects of empty points, making them more distinct from the other data points. You can modify the following properties within `EmptyPointSettings`. + +* `Fill` - Gets or sets the fill color for the empty points. +* `Stroke` - Gets or sets the stroke color for empty points. +* `StrokeWidth` - Gets or sets the stroke thickness for empty points. + +{% tabs %} + +{% highlight xaml %} + + + + ..... + + + + + + + + +{% endhighlight %} + +{% highlight c# %} + +SfCartesianChart chart = new SfCartesianChart(); + +..... +LineSeries series = new LineSeries() +{ + ItemsSource = new ViewModel().ProductSales, + XBindingPath = "Product", + YBindingPath = "Sales", + Fill = Color.FromArgb("#3068F7"), + StrokeWidth = 2, + ShowMarkers = true, + ShowDataLabels = true, + EmptyPointMode = EmptyPointMode.Average +}; + +EmptyPointSettings emptypointSettings = new EmptyPointSettings() +{ + Fill = Colors.Orange, + StrokeWidth = 2 +}; + +series.EmptyPointSettings = emptypointSettings; + +chart.Series.Add(series); +this.Content = chart; + +{% endhighlight %} + +{% endtabs %} + +![Customize EmptyPoints in MAUI Chart](EmptyPoints_images\Customize_EmptyPoints.png) + +N> EmptyPoint support is not applicable for Histogram and BoxAndWhisker series. diff --git a/MAUI/Cartesian-Charts/EmptyPoints_images/Customize_EmptyPoints.png b/MAUI/Cartesian-Charts/EmptyPoints_images/Customize_EmptyPoints.png new file mode 100644 index 000000000..9b7f2c958 Binary files /dev/null and b/MAUI/Cartesian-Charts/EmptyPoints_images/Customize_EmptyPoints.png differ diff --git a/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Default.png b/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Default.png new file mode 100644 index 000000000..4a899e901 Binary files /dev/null and b/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Default.png differ diff --git a/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Mode_Average.png b/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Mode_Average.png new file mode 100644 index 000000000..4abb63c69 Binary files /dev/null and b/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Mode_Average.png differ diff --git a/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Mode_Zero.png b/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Mode_Zero.png new file mode 100644 index 000000000..271273ea7 Binary files /dev/null and b/MAUI/Cartesian-Charts/EmptyPoints_images/EmptyPoints_Mode_Zero.png differ diff --git a/maui-toc.html b/maui-toc.html index 651f4352a..dbc49999f 100644 --- a/maui-toc.html +++ b/maui-toc.html @@ -388,6 +388,7 @@
  • Histogram Chart
  • +
  • Empty Points
  • Appearance
  • Plot Band
  • Annotation