Chart.js基于标签值的条形颜色

时间:2016-09-09 05:48:21

标签: chart.js

我需要的代码在这里: chart.js bar chart color change based on value
Dola使用myObjBar.datasets[0].bars根据数据集的值更改条形的颜色
我想做同样的事情,但标签值(好,平均,坏),例如

var barChartData = {
    labels: ["good", "average", "bad"],
    datasets: [
        {
            data: [1, 3, 10]
        }
    ]
};

var ctx = document.getElementById("mycanvas").getContext("2d");
    window.myObjBar = new Chart(ctx).Bar(barChartData, {
          responsive : true
});

var bars = myObjBar.labels[0]; //I need this line
 for(i=0;i<bars.length;i++){
    var color="green";
    if(bars[i].value=="bad"){
       color="red";
       }
       else if(bars[i].value=="average"){
        color="orange"
       }
       else{
        color="green"
       }
       bars[i].fillColor = color;
    }
myObjBar.update();

1 个答案:

答案 0 :(得分:1)

您可以使用router.goBack()代替使用bars[i].value属性,它会为您提供xAxe的标签。

所以在你的循环中,改为:

bars[i].label

您可以在this jsFiddle中找到完整代码,结果如下:

enter image description here