我有图表,我根据变量的值更改颜色。为此,我使用datas.map
const colours = datas.map((value) => value < 0 ? 'red' : 'green'); //changing color based on variable
var chart = new Chart(ctx, {
type: 'bar',
data: {
labels: label,
datasets: [{
label: ['positive', 'negative'], //legend to change
borderColor: colours,
backgroundColor: colours,
data: datas
}]
},
但是,无法添加绿色和红色的图例,只显示红色图例。是否有可能以某种方式添加两种颜色的图例,其中绿色的描述是正面的,红色的负面描述?
答案 0 :(得分:0)
要实现您的目标,您需要分离数据集,即。一个用于负值,另一个用于正值。
var positiveData = datas.filter(function (value) { return value > 0; });
var negativeData = datas.filter(function (value) { return value < 0; });
var chart = new Chart(ctx, {
type: 'bar',
data: {
labels: label,
datasets: [{
label: 'positive', //legend to change
borderColor: 'green',
backgroundColor: 'green',
data: positiveData
},
{
label: 'negative', //legend to change
borderColor: 'red',
backgroundColor: 'red',
data: negativeData
}]
}
});