jquery – Highcharts – 在对数Y轴的折线图系列中处理和显示零(或负)值的最佳方法

前端之家收集整理的这篇文章主要介绍了jquery – Highcharts – 在对数Y轴的折线图系列中处理和显示零(或负)值的最佳方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的HighChart折线图中,系列数据是从我的 Ruby on Rails应用程序动态提供的.有时系列值为零或更小,这是HighCharts的一个问题,它会抛出以下异常:
Highcharts Error #10
Can't plot zero or subzero values on a logarithmic axis

因此,作为一种解决方法,我处理我的ruby数组以有条件地用一个无关紧要的正数替换零值,例如.e.g. 0.00001如下图所示:

oil_vol_array = d_array[1].map { |e| (e < 0.0001) ? 0.0001 : e.round(3) }

这可以防止抛出异常,但是如果起始值为零,显示屏将显示从0.0001开始的图形(可以理解的是,因为我要求它).更理想的显示是将图形设置为零,但HighChart不喜欢它:(

有没有办法实现这一目标?

解决方法

你尝试过使用 label formatter吗?
var chart = new Highcharts.Chart({ 
    yAxis: {        
        labels: {
            formatter: function() {
                if(this.value === 0.00001){
                    return 0;
                } else {
                    return this.value;
                }
            }
        }
    }
});

猜你在找的jQuery相关文章