第一类Highchart中的DataLabels格式化程序

时间:2014-12-12 09:53:52

标签: javascript highcharts

我在数组中有相当具体的堆叠条,需要在我的栏中有两种不同的颜色/ 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/
为什么会这样? 有一种可能的解决方法 - 创建一个空的第一个栏并使其不可见,在这种情况下,格式化程序适用于其他栏,但这不是一个好主意。

1 个答案:

答案 0 :(得分:0)

问题是,align属性设置为'right'color属性设置为'black' {{1} }等于this.series.name % 2。您的第一个类别的名称是" 1",0等于1 % 2不是 0。