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

标签 jquery highcharts zero logarithm

在我的 HighChart 折线图中,系列数据是从我的 Ruby on Rails 应用程序动态输入的。有时系列值为零或更少,这对于 HighCharts 来说是一个问题,它会引发以下异常:

Highcharts Error #10
Can't plot zero or subzero values on a logarithmic axis

因此,作为一种解决方法,我处理我的 ruby​​ 数组,有条件地将较小值的零替换为无关紧要的正数,例如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 - Highcharts - 在具有对数 Y 轴的折线图系列中处理和显示零(或负)值的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181588/

相关文章:

javascript - 您可以在没有 css 的情况下使用 highcharts 删除特定的网格线和点标签吗?

c - 在 C 中的循环内重置变量值

python - SQL 零而不是空

javascript - HighCharts 隐藏图例中的系列名称

highcharts - Highstocks图形宽度未正确呈现

python - 如何在 Python 中拆分数字后显示前导零

javascript - 我们如何使用js获取循环表中的隐藏值?

Javascript clearInterval 和 setInterval() 未按预期运行

jquery - 405 method not allowed 错误出现在开始时然后消失

javascript - 覆盖 Tab 键行为,因此它不会转到下一个字段(只关注实际字段)