Gaps/Null Points
Hover over the image to see the chart animation
This web site builds the control from code behind but you could also grab it from the toolbox, this sample also uses a ViewModel to populate the properties of the control(s) in this sample.


View Model
using CommunityToolkit.Mvvm.ComponentModel;
using LiveChartsCore;
using LiveChartsCore.Defaults;
using LiveChartsCore.SkiaSharpView;
namespace ViewModelsSamples.General.NullPoints;
public partial class ViewModel : ObservableObject
{
public ISeries[] Series { get; set; } = new ISeries[]
{
// every series knows how to handle nulls.
new ColumnSeries<double?>
{
Values = new double?[] { 5, 4, null, 3, 2, 6, 5, 6, 2 }
},
new LineSeries<double?>
{
Values = new double?[] { 2, 6, 5, 3, null, 5, 2, 4, null }
},
// for reference types, set the properties to null instead.
new LineSeries<ObservablePoint>
{
Values = new ObservablePoint[]
{
new ObservablePoint { X = 0, Y = 1 },
new ObservablePoint { X = 1, Y = 4 },
new ObservablePoint { X = 3, Y = null },
new ObservablePoint { X = 4, Y = 5 },
new ObservablePoint { X = 6, Y = 1 },
new ObservablePoint { X = 8, Y = 6 },
}
}
};
}
Code Behind
using System.Windows.Forms;
using LiveChartsCore.SkiaSharpView.WinForms;
using ViewModelsSamples.General.NullPoints;
namespace WinFormsSample.General.NullPoints;
public partial class View : UserControl
{
private readonly CartesianChart cartesianChart;
public View()
{
InitializeComponent();
Size = new System.Drawing.Size(50, 50);
var viewModel = new ViewModel();
cartesianChart = new CartesianChart
{
Series = viewModel.Series,
// out of livecharts properties...
Location = new System.Drawing.Point(0, 0),
Size = new System.Drawing.Size(50, 50),
Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom
};
Controls.Add(cartesianChart);
}
}