Let's say I have a series of value/time datapoints, the Y axis min value is 5.012 and max value is 6.231.
I can force the tick values to be at round intervals by setting
chart.Axis.Y.NumericAxisType = Infragistics.UltraChart.Shared.Styles.NumericAxisType.Linear;chart.Axis.Y.RangeType = Infragistics.UltraChart.Shared.Styles.AxisRangeType.Custom;chart.Axis.Y.TickmarkStyle = Infragistics.UltraChart.Shared.Styles.AxisTickStyle.DataInterval;chart.Axis.Y.RangeMin = 5.0;chart.Axis.Y.RangeMax = 6.25;chart.Axis.Y.TickmarkInterval = 0.25;
So that ticks/labels appear at
5.0, 5.25, 5.50, ...6.0, 6.25
If I zoom in and then scroll, the tick interval stays the same (ok), but the tick values shifts (e.g. 5.11, 5.36, 5.61,...).It seems that they are always computed basedon the first value in the display window (i.e. IAdvanceAxis.WindowMinimum for the current scale/scroll) rather than the global range minimumAxis.RangeMin).
In other words, the ticks/grid line are relative to the axis current display area rather than absolute - the first displayed tick is always gonnabe based on the very first value in the window, rather than being the first [RangeMax + n * TickmarkInterval] that's within the currently displayedrange.Is there a way around this so that the tick values are still within the set [5.0, 5.25,...6.25] regardless of zoom/scroll values?
Unfortunately we cannot offer you a work around right now. In order to possibly get this feature into a future release, please submit a feature request at the following webpage:
http://devcenter.infragistics.com/Protected/RequestFeature.aspx
This is basically my axes configuration.
axisItem1.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.Y_Axis;
axisItem1.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.Numeric;
axisItem1.RangeMax = 100;
axisItem1.RangeMin = 0;
axisItem1.RangeType = AxisRangeType.Custom;
axisItem1.TickmarkInterval = 10;
axisItem1.TickmarkStyle = Infragistics.UltraChart.Shared.Styles.AxisTickStyle.DataInterval;
axisItem1.ScrollScale.Visible = true;
axisItem2.OrientationType = Infragistics.UltraChart.Shared.Styles.AxisNumber.X_Axis;
axisItem2.DataType = Infragistics.UltraChart.Shared.Styles.AxisDataType.Time;
axisItem2.RangeMax = new DateTime(2009, 06, 15, 20, 0, 0).Ticks;
axisItem2.RangeMin = new DateTime(2009, 06, 15, 10, 0, 0).Ticks;
axisItem2.RangeType = AxisRangeType.Custom;
axisItem2.TickmarkInterval = 1;
axisItem2.TickmarkIntervalType = AxisIntervalType.Hours;
axisItem2.TickmarkStyle = Infragistics.UltraChart.Shared.Styles.AxisTickStyle.DataInterval;
axisItem2.ScrollScale.Visible = true;
When I zoom and scroll with my numeric axis, the tickmark values don't change, but when I do the same thing with my time axis, my tickmark values changed from 10:00 to 10:23, 10:46, 11:10...
What I would like to do is to keep the same Tickmark values (10:00, 11:00, 12:00...) when scrolling as it is for the numeric axis.
Thanks to help me out,
How does the data look like now and how do you intend to see it?
Hi,
I just upgraded my version of Infragistics from v8.1 to v9.1. I remarked that the Tick Interval seems to remain fix with numeric values when scaling and scrolling. However, my time axis still continues to switch of values when scrolling.
Is there a way to keep the same tick values in a Time interval as it is for a numeric one?
The fix is available from v 8.3