我有一个显示数据库数据的条形图,我需要能够为不同的数值显示不同的颜色。例如,’loc_health’ 返回 1 到 10 之间的值,所以我需要将 1 显示为红色,2 显示为橙色,3 显示为黄色,4 显示为绿色等…
我搜索了 chart.js 文档,但找不到解决方案。
var context = document.getElementById('healthRatings').getContext('2d');
window.myObjBar = new Chart(context).Bar({
labels : loc_id_grab,
datasets : [{
fillColor : ["rgba(220,220,220,0.5)"],
strokeColor : "rgba(151,187,205,1)",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
data : loc_health
}]
}, {
scaleOverride : true,
scaleSteps : 10,
scaleStepWidth : 1,
scaleStartValue : 0,
barShowStroke : false,
barStrokeWidth : 1,
showTooltips : false,
barValueSpacing : 2,
animation : false,
responsive : true,
maintainAspectRatio : true
});
原文由 dchadney 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以通过访问
window.myObjBar.datasets[0].bars[0].fillColor
属性为每个单独的条形图着色,然后更新图表在您的情况下,您可以遍历元素并相应地为每个条形着色
一个工作的 JsFiddle