Этого можно добиться с помощью labelFormatter и следующего набора правил Порядковые номера .
- st используется счисла, оканчивающиеся на 1 (например, 1-й, произносится как первый)
- nd используется с номерами, оканчивающимися на 2 (например, 92-й, произносится как девяносто второй)
- rd используется с номерами, заканчивающимися на 3 (например,33-е, произносится тридцать третий)
- В качестве исключения из вышеприведенных правил все «подростковые» числа, заканчивающиеся на 11, 12 или 13, используют -ое (например, 11-е, произносится как одиннадцатое, 112-е, произносится как сто [и] двенадцатый)
- th используется для всех остальных чисел (например, 9-й, произносится девятый).
Вот пример:
var chart = new CanvasJS.Chart("chartContainer", {
axisX: {
labelFormatter: function(e) {
return ordinalSuffix(e.value.getDate()) + " " + CanvasJS.formatDate(e.value, "MMM");
}
},
data: [{
type: "area",
dataPoints: [
{ x: new Date(2012, 01, 1), y: 26 },
{ x: new Date(2012, 01, 3), y: 38 },
{ x: new Date(2012, 01, 5), y: 43 },
{ x: new Date(2012, 01, 7), y: 29 },
{ x: new Date(2012, 01, 11), y: 41 },
{ x: new Date(2012, 01, 13), y: 54 },
{ x: new Date(2012, 01, 20), y: 66 },
{ x: new Date(2012, 01, 21), y: 60 },
{ x: new Date(2012, 01, 25), y: 53 },
{ x: new Date(2012, 01, 27), y: 60 }
]
}]
});
chart.render();
function ordinalSuffix(num) {
var j = num % 10, k = num % 100;
return ((j == 1 && k != 11) ? num + "st" : (j == 2 && k != 12) ? num + "nd" : (j == 3 && k != 13) ? num + "rd" : num + "th");
}
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 200px; width: 100%;"></div>