Axis Pagination
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 System;
using System.Collections.Generic;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using LiveChartsCore;
using LiveChartsCore.SkiaSharpView;
namespace ViewModelsSamples.Axes.Paging;
[ObservableObject]
public partial class ViewModel
{
private readonly Random _random = new();
public ViewModel()
{
var trend = 100;
var values = new List<int>();
for (var i = 0; i < 100; i++)
{
trend += _random.Next(-30, 50);
values.Add(trend);
}
Series = new ISeries[]
{
new ColumnSeries<int>
{
Values = values
}
};
XAxes = new[] { new Axis() };
}
public ISeries[] Series { get; }
public Axis[] XAxes { get; }
[ICommand]
public void GoToPage1()
{
var axis = XAxes[0];
axis.MinLimit = -0.5;
axis.MaxLimit = 10.5;
}
[ICommand]
public void GoToPage2()
{
var axis = XAxes[0];
axis.MinLimit = 9.5;
axis.MaxLimit = 20.5;
}
[ICommand]
public void GoToPage3()
{
var axis = XAxes[0];
axis.MinLimit = 19.5;
axis.MaxLimit = 30.5;
}
[ICommand]
public void SeeAll()
{
var axis = XAxes[0];
axis.MinLimit = null;
axis.MaxLimit = null;
}
}
Form code behind
using System.Windows.Forms;
using LiveChartsCore.SkiaSharpView.WinForms;
using ViewModelsSamples.Axes.Paging;
namespace WinFormsSample.Axes.Paging;
public partial class View : UserControl
{
private readonly CartesianChart cartesianChart;
public View()
{
InitializeComponent();
Size = new System.Drawing.Size(100, 100);
var viewModel = new ViewModel();
cartesianChart = new CartesianChart
{
Series = viewModel.Series,
XAxes = viewModel.XAxes,
ZoomMode = LiveChartsCore.Measure.ZoomAndPanMode.X,
// out of livecharts properties...
Location = new System.Drawing.Point(0, 50),
Size = new System.Drawing.Size(100, 50),
Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom
};
Controls.Add(cartesianChart);
var b1 = new Button { Text = "Go to page 1", Location = new System.Drawing.Point(0, 0) };
b1.Click += (object sender, System.EventArgs e) => viewModel.GoToPage1();
Controls.Add(b1);
var b2 = new Button { Text = "Go to page 2", Location = new System.Drawing.Point(80, 0) };
b2.Click += (object sender, System.EventArgs e) => viewModel.GoToPage2();
Controls.Add(b2);
var b3 = new Button { Text = "Go to page 3", Location = new System.Drawing.Point(160, 0) };
b3.Click += (object sender, System.EventArgs e) => viewModel.GoToPage3();
Controls.Add(b3);
var b4 = new Button { Text = "Clear", Location = new System.Drawing.Point(24, 0) };
b4.Click += (object sender, System.EventArgs e) => viewModel.SeeAll();
Controls.Add(b4);
}
}