Chart.js 如何将chartjs条形图比例设置为结果数据中的最高值
嗨,我正在使用chartjs绘制条形图。我有这样的数据Chart.js 如何将chartjs条形图比例设置为结果数据中的最高值,chart.js,Chart.js,嗨,我正在使用chartjs绘制条形图。我有这样的数据 var barData = { labels : ["January","February","March","April","May","June"], datasets : [ { fillColor : "#48A497", strokeColor : "#48A4D1", data : [45,47,124,56,70,60] } ] }; 如果我们看到此最高值中的数
var barData = {
labels : ["January","February","March","April","May","June"],
datasets : [
{
fillColor : "#48A497",
strokeColor : "#48A4D1",
data : [45,47,124,56,70,60]
}
]
};
如果我们看到此最高值中的数据为124,但刻度将在最高位置显示45。
如何根据最高值设置?我已从数据中提取最大值,并将其与缩放贴图相除,然后在缩放宽度中设置,因此它将根据我的最高值成为自定义缩放
var myBarChart = new Chart(document.getElementById("id").getContext("2d")).Bar(BarChart, {
animation: false,
scaleOverride: true,
scaleSteps: 10,
scaleStartValue: 0,
scaleStepWidth: 20
});
现在气囊将为0到200。这对我来说没问题。有一个更简单的解决方法。只需在数据数组的末尾添加一个
null
,如下所示
var barData = {
labels: ["January", "February", "March", "April", "May", "June"],
datasets: [
{
fillColor: "#48A497",
strokeColor: "#48A4D1",
data: [45, 47, 124, 56, 70, 60, null]
}
]
};
我把它标为答案,因为它工作得很好,但我不明白它的逻辑,它是如何工作的。经过努力,Thank.Chart.js内部使用Maht.min来计算数据范围。Math.min将null视为0,从而将比例扩展为从0开始。因为没有标签,点就不会被画出来。这也是任何人都可以使用的一种方式,它对我来说也非常有效。