Profile Picture

Large data values cause unexpected plotting behaviour

Posted By Kevin Harrison 14 Years Ago
Author
Message
Nevron Support
Posted 14 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Last Week
Posts: 3,054, Visits: 4,009
We’ll probably implement that in future releases.

Best Regards,
Nevron Support Team



Kevin Harrison
Posted 14 Years Ago
View Quick Profile
Forum Guru

Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)

Group: Forum Members
Last Active: 12 Years Ago
Posts: 52, Visits: 1

Thanks for explaining that.  However, don't you think it would be better to display a blank chart with some text such as "Value range is too large to display" rather than nothing at all?



Nevron Support
Posted 14 Years Ago
View Quick Profile
Supreme Being

Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)Supreme Being (4,435 reputation)

Group: Forum Members
Last Active: Last Week
Posts: 3,054, Visits: 4,009

Hi Kevin,

The resolution of the control is actually limited to the decimal resolution +/-79,228,162,514,264,337,593,543,950,335. This is because during step calculation all steps are decimal based in order to avoid rounding problems. It is generally not possible to achieve correct scaling / arithmethic between very large and very small values as all floating point numbers generate rounding errors when you add/multiply numbers with different exponents. In addition it is very difficult to predict the actual range of the axis due to tick rounding, view / range inflates and others, which means that the control will be unstable at values close to the decimal range. The only solution to these problems is that we use numbers that have dynamic resolution (like in Lisp) however this is very computationally expensive and will lead to a lot of complication not relevant to the general use of the component.



Best Regards,
Nevron Support Team



Kevin Harrison
Posted 14 Years Ago
View Quick Profile
Forum Guru

Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)Forum Guru (52 reputation)

Group: Forum Members
Last Active: 12 Years Ago
Posts: 52, Visits: 1

Similar to trying to plot infinities on charts, which you have kindly fixed (and has occurred in practice in the product we are developing), I have testers putting all sorts of extreme values into data.  For example, if I try and plot a simple 2D chart using the following data:

            double[] xValues = new double[5] { 1, 2, 3, 4, 5 };
            double[] yValues = new double[5] { 2, 5, 3, 7, double.MinValue };

or using double.MaxValue, the x-axis is plotted, but the y-axis is blank and no plots are plotted (not surprisingly I suppose).

This is OK, but not ideal.  If I use

            double[] xValues = new double[5] { 1, 2, 3, 4, 5 };
            double[] yValues = new double[5] { 2, 5, 3, 7, 900000000000000000000000000.7 };
this plots OK.  However, if you add a few more noughts to the large y-value, no chart whatsoever is rendered. No exception occurs but nothing whatsoever is plotted.
I have a multi-tab set of charts (using an nTab control) - if I switch to another tab, that chart is displayed as expected.  If I switch back to the tab containing the chart with the data above, the selected tab changes, but the chart displayed remains unchanged, as though the chart that should be displayed is completely transparent (hope this makes sense).
I don't think this behaviour is correct!  
Thanks
Kevin




Similar Topics


Reading This Topic