ChartJS根据条件更改背景颜色



知道如何根据横轴上的数字将背景颜色更改为ChartJS中的Column吗?所需的结果如下图所示。

例如。

0-2之间的横轴,这些列的背景色为"#000">

水平轴在3-4之间,这些列的背景色为"#eee">

横轴等于或大于5,则这些列的背景色为"#888"。

参见打印示例

如果我理解正确,您希望能够为每个单独的列上色。如果将所有数据放在同一个数据集中,则可以使用backgroundColor定义颜色顺序,如下所示。

HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src='https://cdn.jsdelivr.net/npm/chart.js@3.7.1/dist/chart.min.js'></script>
</head>
<body style="background:black">
<div class="chart-container">
<canvas id="myChart"></canvas>
</div>
</body>
</html>

JS:

const ctx = document.getElementById('myChart').getContext('2d');
this.MYCHART = new Chart(ctx, {
type: "bar",
data: {
labels: ['0', '1', '2', '3', '4'],
datasets: [{
data: [100, 100, 100, 100, 100],
backgroundColor: [
'#FFF',
'#FFF',
'#eee',
'#eee',
'#888',
]
}]
}
});

最新更新