Reversed x axis with sampledataseries

A forum dedicated to WinForms version of LightningChart Ultimate.

Moderator: Arction_LasseP

greggorob64
Posts: 183
Joined: Tue Mar 18, 2014 2:55 pm

Reversed x axis with sampledataseries

Post by greggorob64 » Thu Sep 04, 2014 3:52 pm

I'm having a very hard time getting my data to show up.

I have my x axis set to go from 3700->900 (reversed!) and I have a single SampleDataSeries.

My calculation for sampling frequency is
series.SamplingFrequency = Math.Abs(1 / (this.XAxisDelta)); // Delta is -28
series.XAxisOffset = 900;// hardcoded for right now

my data array has samples[0] equating to 3700, and samples[99] 928 as stored in the array.

My issue is that when I map the trace to the graph, my data is reversed. Its assuming that samples[0] corresponds to the lowest X axis value i believe.

Is there a way for me to reverse the trace on disk without manually switching my data array around? It seems like the answer I need is to allow

XAxisOffset = 3700;
SamplingFrequency = -1/XaxisDelta, but the negative frequency breaks the graph


hopefully this makes sense and isn't just rambling.

User avatar
ArctionPasi
Posts: 1366
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland

Re: Reversed x axis with sampledataseries

Post by ArctionPasi » Fri Sep 05, 2014 5:49 am

Axes have Reversed property.

Isn't ViewXY.XAxes[0].Reversed = True suitable?

samples[0] represents the sample of lowest X value.
LightningChart Support Team, PT

greggorob64
Posts: 183
Joined: Tue Mar 18, 2014 2:55 pm

Re: Reversed x axis with sampledataseries

Post by greggorob64 » Fri Sep 05, 2014 3:49 pm

I was able to get the axis to show as reversed (my values go from RPM's 3700->900)

However, my sample data is also ordered with data[0] is the data at X=3700, and data[100] is X=900.

When i load the sample buffer in, the values are reversed because f the fact that the sample buffer always goes low x to high x.


Is there room anywhere for an enhancement where in the sample data, when you have offset and frequency, we can give it a negative frequency to show that it is decreasing with the X axis?

User avatar
ArctionPasi
Posts: 1366
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland

Re: Reversed x axis with sampledataseries

Post by ArctionPasi » Fri Sep 05, 2014 8:40 pm

We can't promise enhancement like that, sorry.

Can't you use FreeformPointLineSeries, it accepts data in any order?
LightningChart Support Team, PT

greggorob64
Posts: 183
Joined: Tue Mar 18, 2014 2:55 pm

Re: Reversed x axis with sampledataseries

Post by greggorob64 » Mon Sep 08, 2014 6:31 pm

Maybe using a difference series type is a better solution. We've been using SampleDataSeries up until now (which i believe has the best performance). The case where the X axis is reversed, maybe I can use a different series?

Its not a big deal right now to manually reverse the buffer However, in the future, people may want to flip-flop the axis around at will, it might need to change.

Is there a use case for negative sampling frequency on the SampleDataSeries.Frequency property? The way my math works out, the negative value is useful to me. I'm having to do Math.Abs when I set this property, but keep the negative value everywhere else.

User avatar
ArctionPasi
Posts: 1366
Joined: Tue Mar 26, 2013 10:57 pm
Location: Finland

Re: Reversed x axis with sampledataseries

Post by ArctionPasi » Mon Sep 08, 2014 7:02 pm

The real-time scrolling modes are built only for ascending data order. It's a major restructuring to implement negative sampling frequency for SampleDataSeries. Or to enable descending data order for PointLineSeries/AreaSeries/HighlowSeries. This is something we really can't promise. :|

Nothing prevents from changing from SampleDataSeries to FreeformPointLineSeries on the fly.

SampleDataSeries has better performance when data point count is high.
LightningChart Support Team, PT

greggorob64
Posts: 183
Joined: Tue Mar 18, 2014 2:55 pm

Re: Reversed x axis with sampledataseries

Post by greggorob64 » Wed Sep 10, 2014 2:55 pm

I think using the different series type is definitely solution then. Right now, I'm reversing the array when the X range is descending (its much easier than modifying my code to work with the different series type).

I'll make the switch eventually.

Thanks for the info