Highcharts:Y轴标签格式化程序

问题描述 投票:1回答:1

我有这个y轴标签格式化器

        yAxis: {
            title: {
                text: null
            },
            labels: {
                formatter: function(){
                    return (Math.abs(this.value) / 1000000) + 'M';
                }
            }
        },

但是我需要编码器来检查值是否超过百万1000000然后相应地格式化它。我试过这个但它没有正常工作

        yAxis: {
            title: {
                text: null
            },
            labels: {
                formatter: function(){
                    if (this.value > 999999) {
                    return (Math.abs(this.value) / 1000000) + 'M';};
                }
            }
        },

它只在一侧显示标签..我正在使用Stacked条形图金字塔

这是JSFiddle上的

http://jsfiddle.net/chGkK/

javascript jquery highcharts
1个回答
1
投票

问题是格式化程序函数仅在值大于或等于1百万时才返回标签。您需要在此比较中使用绝对值,并将return语句移到if块之外:

var absValue = Math.abs(this.value);
if (absValue >= 1000000) {
  absValue = (absValue / 1000000) + 'M';
};
return absValue;
© www.soinside.com 2019 - 2024. All rights reserved.