web-dev-qa-db-ja.com

Chart.jsでY軸の値を実数から整数に変更します

Chart.js を使用して、Webサイトに含めたいチャートがあります。 Y軸では、整数ではなく実数が表示されます。数値を整数に変更するにはどうすればよいですか?

ここに私が今持っているものの写真があります:

current chart with real numbers

そして、これはコードです:

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);
51
Rachid Oussanaa

これを試してください。ここで、maxはデータの最高値です。

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

新しいバージョンではこのように処理しました。

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

新しいChart.jsのバージョン2を使用すると、既存の回答を得ることができなかったため、V2でこの問題を解決することがわかりました。

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

グローバル設定セクションの Chart.js ドキュメントを確認します。

//ブール-描画スペースが存在する場合でも、スケールが浮動小数点数ではなく整数に固定されるかどうかscaleIntegersOnly:true、

8
Raúl Otaño

ゼロ以外の数で開始する場合は、それを考慮する必要があります。

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
});
7
MRodrigues