Как изменить значения оси Y от действительных чисел до целого числа в chartjs?

У меня есть диаграмма, которую я хочу включить на мой сайт, используя Chart.js. На оси Y он дает мне реальные числа вместо целых чисел, и что я хочу, вот картина того, что у меня есть сейчас:

enter image description here

И что код:

    var lineChartData = {

        labels : ["2013/04/01","2013/03/31", "2013/03/30", "2013/03/29", "2013/03/28","2013/03/27", "2013/03/26"],

        datasets : [
            {
                fillColor : "rgba(151,187,205,0.5)",
                strokeColor : "rgba(151,187,205,1)",
                pointColor : "rgba(151,187,205,1)",
                pointStrokeColor : "#fff",
                data : ["0", "2","1", "0", "1","0","1"]
            }
        ]

    }

var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Bar(lineChartData);

Ответ 1

Попробуйте это, где max - это максимальное значение ваших данных.

var steps = 3;
new Chart(ctx).Bar(plotData, {
    scaleOverride: true,
    scaleSteps: steps,
    scaleStepWidth: Math.ceil(max / steps),
    scaleStartValue: 0
});

Ответ 2

Я обработал его таким образом в новой версии:

new Chart(ctx, {
  type: 'bar',
  data: chartData,
  options: {
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero: true,
          callback: function(value) {if (value % 1 === 0) {return value;}}
        }
      }]
    }
  }
});

Ответ 3

Мне не удалось заставить существующие ответы работать для меня при использовании новой версии 2 из Chart.js, поэтому вот что я нашел для решения этой проблемы в V2:

new Chart(ctx, {type: 'bar', data: barChartData,
  options:{ 
    scales: {
      yAxes: [{
        ticks: {
          stepSize: 1
        }
      }]
    }
  }
});

Ответ 4

Если вы хотите начать с другого числа, отличного от нуля, вы должны учитывать это:

var step  = 5;
var max   = 90
var start = 40;
new Chart(income).Bar(barData, {
scaleOverride: true,
scaleSteps: Math.ceil((max-start)/step),
scaleStepWidth: step,
scaleStartValue: start
});

Ответ 5

Проверьте Chart.js документацию в разделе глобальной конфигурации:

//Boolean - должен ли масштаб придерживаться целых чисел, а не плавать, даже если пространство рисования там      scaleIntegersOnly: true,

Надеюсь, что это поможет.