我在数组中有相当具体的堆叠条,需要在我的栏中有两种不同的颜色/ text-align dataLabels。我有系列名称['1','2','3'等],并在以下条件中使用它:
formatter: function() {
if (parseInt(this.series.name) % 2 == 0) {
this.series.options.dataLabels.color = 'white';
if (this.y != 0) {
return this.y;
} else {
return null;
}
} else {
this.series.options.dataLabels.color = 'black';
this.series.options.dataLabels.align='right';
if (this.y != 0) {
return this.total;
} else {
return null;
}
}
}
它还会更改DataLabels的值。
它适用于类别“2”和“3”,但不接受类别“1”(更改值,但不更改颜色/文本对齐)。
这是jsfiddle:http://jsfiddle.net/xshx6uuL/6/
为什么会这样?
有一种可能的解决方法 - 创建一个空的第一个栏并使其不可见,在这种情况下,格式化程序适用于其他栏,但这不是一个好主意。
答案 0 :(得分:0)
问题是,align
属性设置为'right'
,color
属性设置为'black'
{{1} }等于this.series.name % 2
。您的第一个类别的名称是" 1",0
等于1 % 2
,不是 0。