在chart.js中为每个标签设置特定颜色

时间:2018-05-30 07:13:04

标签: angular chart.js

我正在尝试为使用chart.js库制作的图表设置颜色。 我需要为每个数据标签指定特定颜色。但当特定标签的数据为零时,颜色会混淆:(。 它看起来像是删除零数据标签和不同颜色的标签。

例如,当数据为:

颜色:绿色,红色,黄色,

标签:'通过','失败','正在进行'

数据:0,5,80

传递的标记数据将被跳过,因为其值为零,因此标记数据失败的第一种颜色为绿色,依此类推。

如何强制颜色匹配?

当前代码: HTML:

<canvas baseChart height="150px" width="150px" [data]="graphData" [labels]="graphLabels" [colors]="graphColors" [options]="graphOptions" [legend]="false" [chartType]="'doughnut'">
</canvas>

打字稿:

this.graphData = this.data.map(r => r.cnt);
this.graphLabels = this.data.map(r => r.city);
this.graphOptions = {
    layout: {padding: 20},
    cutoutPrecentage: 90,
    legend: {display: false}
};

谢谢!

1 个答案:

答案 0 :(得分:1)

var graphData = {
    labels: ['Passed', 'Failed', 'In Progress'],
    datasets: [{
        label: 'Data',
        data: [0, 5, 80],
        backgroundColor: [
            "green",
            "red",
            "yellow"
        ],
    }]
};

或者在图表创建中添加data

  

仅当您执行new Chart(...)

时      

graphData作为canvas的参数很棒

var chr = new Chart(ctx, {
    data: graphData,
    type: 'pie',
    options: options,
});

jsFiddle