Skip decimal points on y-axis in chartJS
2019 Update
This can now easily be achieved using the precision
option:
ticks: {
precision:0
}
As per the documentation.
If defined and stepSize is not specified, the step size will be rounded to this many decimal places.
EXAMPLE
options: {
scale: {
ticks: {
precision: 0
}
}
}
OR (Single Axis)
options: {
scales: {
xAxes: [{
ticks: {
precision: 0
}
}]
}
}
Another alternative is to use the fixedStepSize option as follows:
options = {
scales: {
yAxes: [{
ticks: {
fixedStepSize: 1
}
}],
},
};
Update: please see an updated answer from @DreamTeK
that shows how this can now be done as part of the chartjs api https://stackoverflow.com/a/54006487/2737978
in chartjs 2.x you can pass an option for a userCallback
to the yaxis tick field. In this you can check if the label is a whole number
here is an example
options = {
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
userCallback: function(label, index, labels) {
// when the floored value is the same as the value we have a whole number
if (Math.floor(label) === label) {
return label;
}
},
}
}],
},
}
fiddle example