J'ai un graphique que je souhaite inclure dans mon site Web en utilisant Chart.js . Dans l'axe Y, cela me donne des nombres réels au lieu d'entiers. Comment puis-je changer le nombre en entiers?
Voici une photo de ce que j'ai maintenant:
Et voici le code:
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);
Essayez ceci, où max est la valeur la plus élevée de vos données.
var steps = 3;
new Chart(ctx).Bar(plotData, {
scaleOverride: true,
scaleSteps: steps,
scaleStepWidth: Math.ceil(max / steps),
scaleStartValue: 0
});
Je l'ai géré de cette façon dans une nouvelle version:
new Chart(ctx, {
type: 'bar',
data: chartData,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
callback: function(value) {if (value % 1 === 0) {return value;}}
}
}]
}
}
});
Je n'ai pas pu obtenir les réponses existantes pour moi lors de l'utilisation de la nouvelle version 2 de Chart.js, voici donc ce que j'ai trouvé pour résoudre ce problème dans la V2:
new Chart(ctx, {type: 'bar', data: barChartData,
options:{
scales: {
yAxes: [{
ticks: {
stepSize: 1
}
}]
}
}
});
Consultez la documentation Chart.js , dans la section Configuration globale:
// Boolean - Indique si l'échelle doit rester fidèle aux nombres entiers, pas flottante même si l'espace de dessin est là scaleIntegersOnly: true,
Si vous souhaitez commencer avec un nombre différent de zéro, vous devez en tenir compte:
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
});