Chart.js stepSize无法与分钟一起使用

时间:2018-07-19 16:25:32

标签: chart.js

对于StepSize,不考虑

min。

包括小提琴-https://jsfiddle.net/4p93aew7/10/

var options = {
  type: 'line',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
        label: '# of Votes',
        data: [12, 19, 23, 15, 32, 33],
        borderWidth: 1
      },
      {
        label: '# of Points',
        data: [17, 11, 25, 18, 13, 37],
        borderWidth: 1
      }
    ]
  },
  options: {
    scales: {
      yAxes: [{
        ticks: {
          min: 5,
          max: 40,
          stepSize: 8
        }
      }]
    }
  }
}

var ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);
canvas {
  background-color: #eee;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script>

<body>
  <canvas id="chartJSContainer" width="600" height="400"></canvas>
</body>
在此示例中,步长为8,最小值为5,因此每个步长应该为8 (从5开始),但显然不是。我该如何解决?

编辑:适用于希望关注此问题的用户。这是一个github链接

1 个答案:

答案 0 :(得分:0)

您要强制minmaxstepSize一起使用。自动缩放算法正在尽最大努力实现您的要求,但是必须付出一些努力。

如果您真的希望它可以正常工作,则需要确保范围(max-min)被stepSize完全整除。例如:

40-5 = 35
35/7 = 5

5是一个整数,因此可以使用刻度。

35/8 = 4.375

4.375不是整数,因此比例尺无效。

如果您使max达到45,那么

45-5 = 40
40/8 = 5

再次,5是一个整数,小数位数将起作用。