This topic demonstrates, with code examples, how to use the OrdinalTimeXAxis in the igDataChart control. The benefit of using this axis is to dynamically change date label formats as you zoom in or out of your data.
This topic contains the following sections:
The OrdinalTimeXAxis may be used with the following series types:
The main difference between the OrdinalTimeXAxis and the TimeXAxis is that in the ordinal axis, the dates displayed are assumed to be equidistant. The TimeXAxis currently sorts and aligns them according to a chronological timescale.
Below is a code example on how to add the OrdinalTimeXAxis to the chart:
In JavaScript:
$(function () {
$("#chart").igDataChart({
width: "700px",
height: "400px",
axes: [{
name: "xAxis",
type: "ordinalTimeX",
dataSource: data,
dateTimeMemberPath: "Date",
},
{
name: "yAxis",
type: "numericY",
}],
series: [{
name: "series1",
dataSource: data,
type: "financial",
displayType: "candlestick",
xAxis: "xAxis",
yAxis: "yAxis",
openMemberPath: "Open",
highMemberPath: "High",
lowMemberPath: "Low",
closeMemberPath: "Close",
}
],
});
});
Below is a screenshot demonstrating the usage of the OrdinalTimeXAxis with a FinancialPriceSeries:

The OrdinalTimeXAxis has the LabelFormats property which is a collection of type TimeAxisLabelFormat. Each TimeAxisLabelFormat added to the collection is responsible for assigning a unique Format and Range. This can be especially useful for drilling data from years to milliseconds and adjusting the labels depending on the range of time shown by the chart.
The following lists a typical set of label formats for the given amount of time in view:
In JavaScript:
$(function () {
$("#chart").igDataChart({
width: "700px",
height: "400px",
axes: [{
name: "xAxis",
type: "ordinalTimeX",
dataSource: data,
dateTimeMemberPath: "Date",
labelFormats: [
{
format: "hh:mm:ss",
range: 1000
},
{
format: "hh:mm",
range: 60 * 1000
},
{
format: "MMM-dd-yy",
range: 24 * 60 * 60 * 1000
},
{
format: "MMM yy",
range: 365.24 * 24 * 60 * 60 * 1000
},
{
format: "yyyy",
range: 5 * 365 * 24 * 60 * 60 * 1000
}],
},
{
name: "yAxis",
type: "numericY",
}],
series: [{
name: "series1",
dataSource: data,
type: "financial",
displayType: "candlestick",
xAxis: "xAxis",
yAxis: "yAxis",
openMemberPath: "Open",
highMemberPath: "High",
lowMemberPath: "Low",
closeMemberPath: "Close",
}
],
});
});
Below is a screenshot demonstrating the usage of the OrdinalTimeXAxis with a FinancialPriceSeries with label formatting:

igDataChart control to a page and bind it to data.igDataChart control.View on GitHub