Ответ 1
Попробуйте это, где max - это максимальное значение ваших данных.
var steps = 3;
new Chart(ctx).Bar(plotData, {
scaleOverride: true,
scaleSteps: steps,
scaleStepWidth: Math.ceil(max / steps),
scaleStartValue: 0
});
У меня есть диаграмма, которую я хочу включить на мой сайт, используя Chart.js. На оси Y он дает мне реальные числа вместо целых чисел, и что я хочу, вот картина того, что у меня есть сейчас:
И что код:
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);
Попробуйте это, где max - это максимальное значение ваших данных.
var steps = 3;
new Chart(ctx).Bar(plotData, {
scaleOverride: true,
scaleSteps: steps,
scaleStepWidth: Math.ceil(max / steps),
scaleStartValue: 0
});
Я обработал его таким образом в новой версии:
new Chart(ctx, {
type: 'bar',
data: chartData,
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
callback: function(value) {if (value % 1 === 0) {return value;}}
}
}]
}
}
});
Мне не удалось заставить существующие ответы работать для меня при использовании новой версии 2 из Chart.js, поэтому вот что я нашел для решения этой проблемы в V2:
new Chart(ctx, {type: 'bar', data: barChartData,
options:{
scales: {
yAxes: [{
ticks: {
stepSize: 1
}
}]
}
}
});
Если вы хотите начать с другого числа, отличного от нуля, вы должны учитывать это:
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
});
Проверьте Chart.js документацию в разделе глобальной конфигурации:
//Boolean - должен ли масштаб придерживаться целых чисел, а не плавать, даже если пространство рисования там scaleIntegersOnly: true,
Надеюсь, что это поможет.