javascript – 当数值为null时,在数据标签中显示N / A – 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/

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

最佳答案 条形图(倒图表)和柱形图只有不同的逻辑,列的示例如下:

            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/

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

点赞