Подтвердить что ты не робот

Пропустить десятичные точки по оси Y в chartJS

Я использую эту библиотеку для рисования диаграмм в своем веб-приложении. Проблема в том, что у меня есть десятичные точки по оси y. Вы можете видеть, что на изображении ниже введите описание изображения здесь

Есть ли способ ограничить его только номерами?

Это мой код

var matches = $("#matches").get(0).getContext("2d");

var data = {
        labels: labelsFromCurrentDateTillLastWeek,
        datasets: [
            {
                label: "Last Weeks Matches",
                fillColor: "rgba(220,220,220,0.2)",
                strokeColor: "rgba(220,220,220,1)",
                pointColor: "rgba(220,220,220,1)",
                pointStrokeColor: "#fff",
                pointHighlightFill: "#fff",
                pointHighlightStroke: "rgba(220,220,220,1)",
                data: result
            }
        ]
    };

    var options = {
        scaleLabel: function (label) {
            return Math.round(label.value);
        }
    };

    var myLineChart = new Chart(matches, {
        type: 'bar',
        data: data,
        options: options

    })
4b9b3361

Ответ 1

Обновление: смотрите обновленный ответ от @DreamTeK который показывает, как это можно сделать в рамках api chartjs fooobar.com/questions/314012/...


в chartjs 2.x вы можете передать опцию userCallback в поле галочки yaxis. В этом вы можете проверить, является ли метка целым числом

вот пример

 options = {
     scales: {
         yAxes: [{
             ticks: {
                 beginAtZero: true,
                 userCallback: function(label, index, labels) {
                     // when the floored value is the same as the value we have a whole number
                     if (Math.floor(label) === label) {
                         return label;
                     }

                 },
             }
         }],
     },
 }

пример скрипки

Ответ 2

Другой вариант - использовать параметр fixedStepSize следующим образом:

options = {
    scales: {
        yAxes: [{
            ticks: {
                fixedStepSize: 1
            }
        }],
    },
};

Ответ 3

2019 Обновление

Теперь это можно легко сделать с помощью опции precision:

ticks: {
  precision:0
}

Согласно документации.

Если определено и stepSize не указан, размер шага будет округлен до такого количества десятичных разрядов.