angular - 在 Chart.js 中设置每个标签的特定颜色

标签 angular chart.js

我正在尝试为使用 chart.js 制作的图表设置颜色图书馆。

我需要为每个数据标签指定特定的颜色。但是当特定标签的数据为零时,颜色会变得困惑:(。

看起来该库删除了零数据标签和颜色不同的标签。

例如,当数据为:

  • 颜色: 绿色红色黄色
  • 标签: 通过失败进行中
  • 数据: 0580

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

如何强制颜色匹配?


当前代码:

html:

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

typescript :

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}
};

谢谢!

最佳答案

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

或者在您的图表创建中添加数据

Only if you do the new Chart(...)

graphData as parameter to the canvas is great

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

jsFiddle

关于angular - 在 Chart.js 中设置每个标签的特定颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50598478/

相关文章:

javascript - 图表 JS : Ignoring x values and putting point data on first available labels

javascript - 绘制条形图后Chartjs条形顺序调整

javascript - 编辑图例标签 [vue-chart.js]

javascript - 如何更改 Angular-Chart.js 的颜色

javascript - 将字符串日期转换为 JavaScript 日期

Angular 2 在 ngFor 中动态创建组件

javascript - 找不到类型为 '[object Object]' 的不同支持对象 'object' ,但它已经是一个数组

javascript - ThreeJs animate 在 Angular 2 中丢失上下文

javascript - Electron 应用程序无法启动

javascript - 访问React中的chart.js组件实例