我必须更改highcharts中其中一列的颜色。我看到我们可以为整个系列改变它,但是我们已经能够找到只改变它的一列。这是我的系列制作方式:
var dates = [];
var scores = [];
vm.data.values.forEach(function (item) {
dates.push(datefilter(item.date, 'yyyy-MM'));
if (item.isCurrent) {
scores.push({
y: item.score || 0,
marker: {
fillColor: '#FF0000',
lineWidth: 5,
lineColor: "#FF0000"
}
});
}
else {
scores.push(item.score || 0);
}
});
vm.chartConfig = {
options: {
chart: {
type: 'column'
},
plotOptions: {
series: {
cursor: 'pointer'
},
marker: {
lineWidth: 1,
symbol: 'circle'
}
}
}
},
title: {
text: "Scores"
},
xAxis: {
categories: dates
},
yAxis: {
title: {
text: null
}
},
series: [
{
name: 'Scores',
data: scores,
color: "#249858"
}
]
};
};
组件的html如下所示:
<highchart config="vm.chartConfig"></highchart>
使用此代码,我只能看到我在chartConfig对象中设置的1种颜色。我在foreach循环中创建系列数据时设置的那个永远不会生效。任何指针或plunkr链接都会非常棒。
答案 0 :(得分:0)
对于有类似问题的人,我设置的颜色是错误的。改变
<强> OLD 强>
if (item.isCurrent) {
scores.push({
y: item.score || 0,
marker: {
fillColor: '#FF0000',
lineWidth: 5,
lineColor: "#FF0000"
}
});
}
else {
scores.push(item.score || 0);
}
与 新代码
if (item.isCurrent) {
scores.push({
y: item.score || 0,
marker: {
fillColor: '#FF0000',
lineWidth: 5,
lineColor: "#FF0000"
},
color: '#FF0000'
});
}
else {
scores.push(item.score || 0);
}
为我做了诀窍。
注意:我保留的标记颜色是因为我正在渲染折线图和柱形图。并且颜色适用于列,而标记适用于折线图。