using System; using System.Windows.Controls; using LiveCharts; using LiveCharts.Configurations; using LiveCharts.Defaults; using LiveCharts.Wpf; namespace Wpf.CartesianChart.LogarithmScale { public partial class LogarithmScaleExample : UserControl { public LogarithmScaleExample() { InitializeComponent(); Base = 10; var mapper = Mappers.Xy() .X(point => Math.Log(point.X, Base)) //a 10 base log scale in the X axis .Y(point => point.Y); SeriesCollection = new SeriesCollection(mapper) { new LineSeries { Values = new ChartValues { new ObservablePoint(1, 5), new ObservablePoint(10, 6), new ObservablePoint(100, 4), new ObservablePoint(1000, 2), new ObservablePoint(10000, 8), new ObservablePoint(100000, 2), new ObservablePoint(1000000, 9), new ObservablePoint(10000000, 8) } } }; Formatter = value => Math.Pow(Base, value).ToString("N"); DataContext = this; } public SeriesCollection SeriesCollection { get; set; } public Func Formatter { get; set; } public double Base { get; set; } } }