Chart.js甜甜圈图保持灰色-无颜色

Res*_*ent 5 javascript charts node.js chart.js

我有一个由chart.js创建的甜甜圈图,如下所示:

        <div id="chartContainer" style="height: 320px; width: 320px">
            <canvas id="hoursFEContainer"></canvas>
        </div>
Run Code Online (Sandbox Code Playgroud)

我需要如下所示的chart.js(从npm下载):

require('chart.js');    
Run Code Online (Sandbox Code Playgroud)

然后在一个相关的函数中,我实例化Chart.js如下:

var distinctFeeEarners = ['MEH', 'IHM'];
var totalHoursByFE = [0.8, 0.7];
        var chartdata = {
                        labels: distinctFeeEarners,
                        datasets : [
                            {
                                label: 'Fee Earner',
                                data: totalHoursByFE
                            }
                        ]
                    };

                    var ctx = $("#hoursFEContainer");

                    var donutChart = new Chart(ctx, {
                        type: 'doughnut',
                        backgroundColor:
                        ['rgba(255, 99, 132, 0.2)',
                        'rgba(54, 162, 235, 0.2)'],                     
                        data: chartdata
                    });
Run Code Online (Sandbox Code Playgroud)

图表显示正确的数据,但是甜甜圈没有任何颜色吗?

怎么了?

编辑:除了愚蠢之外,backgroundColor还需要包含在数据集中而不是新的Chart中。没关系。

umi*_*der 0

原因是你定义的backgroundColor地方不对。它是一个数据集属性,因此需要在dataset.

var distinctFeeEarners = ['MEH', 'IHM'];
var totalHoursByFE = [0.8, 0.7];
var chartdata = {
  labels: distinctFeeEarners,
  datasets: [{
    label: 'Fee Earner',
    data: totalHoursByFE,
    backgroundColor: ['rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)']
  }]
};

var donutChart = new Chart(document.getElementById('hoursFEContainer'), {
  type: 'doughnut',
  data: chartdata
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>
<div id="chartContainer" style="height: 320px; width: 320px">
  <canvas id="hoursFEContainer"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)