/Live-Charts

Good looking, animated, easy to customize, MVVM .Net charts, WPF, WinForms under MIT Licence, written in C#, LiveCharts listens for any change in your data automatically and updates UI, it also has an awesome performance 3 million point in 1 second

Primary LanguageC#MIT LicenseMIT

GitHub license AppVeyor GitHub issues NuGet Gitter

Live charts is an easy way to build poweful charts, all charts are animated, they update every time you change your data, it also has an awesome performance.

  • Good looking, animated and easy to customize charts, you can practically change all properties.
  • Autoupdate UI, you just create a SeriesCollection, then LiveCharts will handle everything.
  • MVVM Charting, Support for WPF Bindings.
  • Easy to maintain and create new charts, as you can see in the source code, some charts have almost no code.
  • Supports zooming and panning.
  • MIT License, permissive licensing.

This is the logic you use in every chart, there are just some litle properties or rules that change from each type of chart

//create a new SeriesCollection
var seriesCollection = new SeriesCollection();

//create some LineSeries if ypu need so
var charlesSeries = new LineSeries
{
  Title = "Charles",
  Values = new ChartValues<double> {10, 5, 7, 5, 7, 8}
};
var jamesSeries = new LineSeries
{
  Title = "James",
  Values = new ChartValues<double> { 5, 6, 9, 10, 11, 9 }
};

//add series to seriesCollection
seriesCollection.Add(charlesSeries);
seriesCollection.Add(jamesSeries);

//now just assing this seriesCollectionto your chart
//you can use wpf bindings if you need it
myChart.Series = seriesCollection

//create some labels if necessary
var labels = new string[] {"Jan", "Feb" , "Mar", "Apr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dec"};
myChart.AxixX.Labels = labels;

Is live charts what you are looking for? see these interesting examples.

  • Live Data: a charts that adds new data each second, DateTime as X Axis.
  • Filter records from a data base: a chart that pulls data from a data base according to a simple user filter.
  • IObservableChartPoint: this chart uses a view model that implements IObservableChartPoint, this will update chart every time a desired property changes.
  • There are much more examples in this solution, go to examples folder up here ^^^
  • High performance charts are almost ready, current test can draw 3 million points in only 1 second
  • Find more at http://lvcharts.net/

Installation

1. Install package from Nuget Install-Package LiveCharts

2. Add name space

To your XAML if using wpf

xmlns:lvc="clr-namespace:LiveCharts;assembly=LiveCharts"

Or WinForms and WPF code behind

using LiveCharts;

3. Thats it. You are ready.

How to Contribute

  • Star this repo
  • Try it
  • Report Issues and Improvements
  • Pull request are well received

Need examples?

Go to examples folder up there ^^^ or even better clone this repo and see included examples.

More Images

Perfomance Test