当值为null时,在数据标签中显示N / A - Highcharts

时间:2015-03-03 10:57:19

标签: javascript highcharts

我想展示" N / A"在柱形图中,当数据为空时。 这就是我目前正在尝试做的事情: http://jsfiddle.net/90amxpc1/1/

dataLabels: {
                formatter: function () {
                    if (this.y == null) {
                        return "N/A";
                    }
                    else {
                        return this.y;
                    }
                }
}

但是,它不起作用。我想要达到的目标类似于对此问题的接受答案: Highcharts: Returning N/A value instead of 0% in data label 或者这个小提琴:http://jsfiddle.net/v5vJR/3/

我尝试为柱形图修改它,但它没有用。

1 个答案:

答案 0 :(得分:2)

条形图(倒置图表)和柱形图只有不同的逻辑,例如列:

            formatter: function () {
                if (this.y == null) {
                    var chart = this.series.chart,
                        categoryWidth = chart.plotWidth / chart.xAxis[0].categories.length,
                        offset = (this.point.x) * categoryWidth + categoryWidth / 2,
                        text = chart.renderer.text('N/A', -999, -999).add();

                    text.attr({
                        x: chart.plotLeft + offset - text.getBBox().width / 2, //center label
                        y: chart.plotTop + chart.plotHeight - 8 // padding
                    });

                } else {
                    return this.y;
                }
            },

现场演示:http://jsfiddle.net/90amxpc1/4/

注意:
您可能希望存储text变量,以便在隐藏序列或放大图表时删除该文本。