15

I created a simple line chart using chart.js with 3 Y axes: https://codepen.io/anon/pen/dZVgKw

As you can see, the last one is going from 10 to 20 without any number between. How can I set step size here?

This is how I add an axe:

{
  id: 'C',
  type: 'linear',
  position: 'left',
  ticks: {
    max: 10,
    min: 20,
  },
}

Thanks.

Damien Monni
  • 1,418
  • 3
  • 15
  • 25
  • Does this answer your question? [Chart.js yAxes Ticks stepSize not working (fiddle)](https://stackoverflow.com/questions/62897653/chart-js-yaxes-ticks-stepsize-not-working-fiddle) – GalAbra Jul 15 '20 at 04:58

2 Answers2

24

How can I set step size here?

Straight from the samples (Linear Scale, step size):

By setting a stepSize value.

scales: {
  xAxes: [{
    display: true,
    scaleLabel: {
      display: true,
      labelString: 'Month'
    }
  }],
  yAxes: [{
    display: true,
    scaleLabel: {
      display: true,
      labelString: 'Value'
    },
    ticks: {
      min: 0,
      max: 100,

      // forces step size to be 5 units
      stepSize: 5 // <----- This prop sets the stepSize
    }
  }]
}

Here's a live example:

var ctx = document.getElementById('chartJSContainer').getContext('2d')

new Chart(ctx, {
  type: 'line',
  data: {
    labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
    datasets: [
      {
        label: '# of Votes',
        data: [12, 19, 3, 5, 2, 3],
        borderWidth: 1
      },  
      {
        label: '# of Points',
        data: [7, 11, 5, 8, 3, 7],
        borderWidth: 1
      }
    ]
  },
  options: {
    scales: {
      yAxes: [{
        ticks: {
          reverse: false,
          stepSize: 3
        },
      }]
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.js"></script>
<body>
    <canvas id="chartJSContainer" width="600" height="400"></canvas>
</body>
nicholaswmin
  • 21,686
  • 15
  • 91
  • 167
0
this.data = {
labels: Xaxis,
datasets: [   
  
  {
    label: "Primary",
    data:Primyaxis,
    type: 'line',
    borderColor:'#eddb1c',
    backgroundColor:'#FFF3D6',
    fill: false,
    pointBorderColor: 'yellow',
    pointBackgroundColor: 'yellow',
    borderWidth: 1.5

  },
  {
    label: "Secondary",
    data: Secyaxis,
    type: 'line',
    borderColor:'#FF7A96',
    backgroundColor:'#EAC3CC',
    fill: false,
    pointBorderColor: 'red',
    pointBackgroundColor: 'red'
   
  }
 
 
   ]
};


   this.options = {
    scales: {
  xAxes: [{
    display: true,
    scaleLabel: {
      display: true,
      labelString: 'Extra Distance Interval From Origin'
    }
  }],
  yAxes: [{
    display: true,
    scaleLabel: {
      display: true,
      labelString: 'Percentage of Employees'
    },
    ticks: {
      // min: 50,
      max: 100,

      // forces step size to be 5 units
      stepSize: 2 // <----- This prop sets the stepSize
    }
  }]
},

  pan: {
    enabled: true,
  },
  zoom: {
    enabled: true,         
  },
responsive: true,
}}