我遇到了Chart.js问题,因为即使我设置了beginAtZero参数,柱形也不是从零开始。

我尝试了多种方法来确保代码的正确位置,但似乎不起作用。

有谁知道如何解决我的问题?

这是代码:

var chartdata = {
  labels: answer,
  datasets: [{
      label: 'Count',
      backgroundColor: 'rgba(200, 200, 200, 0.75)',
      borderColor: 'rgba(200, 200, 200, 0.75)',
      hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
      hoverBorderColor: 'rgba(200, 200, 200, 1)',
      data: count
    }
  ]
};

var options = {
  scales: {
    yAxes: [{
      ticks: {
        beginAtZero: true
      }
    }]
  }
};

var ctx = $("#mycanvas");

var barGraph = new Chart(ctx, {
  type: 'bar',
  data: chartdata
  options: options
});

最佳答案

看起来您正在使用Chart.js v1而不是v2。

首先,将Chart.js代码更新为v2,最好是latest version

然后,更改以下代码:

var barGraph = new Chart(ctx, {
    type: 'bar',
    data: chartdata
    options: options
});


至:

var barGraph = Chart.Bar(ctx, {
  data: chartdata,
  options: options
});


beginAtZero: true然后应按预期工作。

工作的JSFiddle:https://jsfiddle.net/ko54hp6n/



对于beginAtZero: true的替代方法,还可以使用min: 0刻度配置选项将钢筋轴从零开始:

var options = {
  scales: {
    yAxes: [{
      ticks: {
        min: 0
      }
    }]
  }
}


工作的JSFiddle:https://jsfiddle.net/ko54hp6n/1/

09-25 20:28