Pre loader

Fix data values that arrive in a non sorted date time order

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

Answered
4
0

I am using WPF SciChart version 1.3.1.1107 under the MVVM pattern.
I’ve included some sample code from a couple of my view models for reference purposes but it identical to sample code I copied from your examples.

My problem is that the data values arrive in a non sorted date time order and as a result my chart line does not connect the points based on the xaxis datetime value, but instead connects the points based on when the codes adds the points to the data series.

Do you have a feature that will allow me to plot a line based on a date time values?

    IDataSeries dataSeries = ChartDataSeriesSet.AddSeries();

    private IDataSeriesSet _chartDataSeriesSet = new DataSeriesSet();
    public IDataSeriesSet ChartDataSeriesSet
    {
      get { return _chartDataSeriesSet; }
      set
      {
        _chartDataSeriesSet = value;
        NotifyPropertyChanged("ChartDataSeriesSet");
      }
    }

    private IDataSeries _dataValues = null;
    public IDataSeries DataValues
    {
      get { return _dataValues; }
      set
      {
        _dataValues = value;
        NotifyPropertyChanged("DataValues");
      }
    }
  • You must to post comments
Best Answer
3
0

SciChart Expects Sorted X-Data

One of the underlying principles of SciChart is that data should be sorted in ascending order on the X-Axis. The reason for this is many of our users are rendering millions of points, and by far the most time is spent transforming data-points prior to render. Sorting in the X-Direction helps with this, as we can then use efficient binary search algorithms to find indices to data-points and can make several assumptions when resampling.

  • Versions 1.x and 2.x of Scichart will render and behave incorrectly
    (bad rendering, glitches) if data is unsorted.

  • Version 3.x will render correctly, but performance is greatly
    enhanced if data is sorted in X.

Must Data always be sorted?

Actually, no. As of SciChart 3.0 you can have unsorted data in an XyDataSeries. SciChart will automatically detect the distribution of your data (Sorted, Unsorted, Evenly Spaced, Unevely Spaced, Scatter, Line) and apply the correct algorithms, meaning it should render correctly in all circumstances.

However, you will still get massive performance improvements if your data is sorted in the X direction.

What should you do if data arrives out of order?

That doesn’t help you if your data is arriving out of order you can’t append it to the end of the data series. Then, we have the ability to Update, Remove, Insert data via the XyDataSeries class.

DataSeries API Methods include:

You can also directly manipulate the data if you wish to trigger a redraw yourself. Note this does not recalculate flags such as what is the distribution of your data so be careful what you do!

Hope this helps!

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.