基础2中的Highcharts log轴

时间:2016-04-26 12:46:06

标签: highcharts

我必须使用Highcharts库渲染图表,但我需要y轴为对数。将yAxis类型设置为logarithmic即可轻松完成。

然而,轴上的刻度是等间距为10的幂:0.01,0.1,1,10,100 ......

我想完全相同的东西,但在基数2:等间距的刻度,轴上写的值是2的幂:0.5,1,2,4,8,16 ......

如果滴答数以及最小值和最大值可以从数据中调整(如常规基数10对数刻度),那就太棒了。

有什么建议吗?在查看对数场景的网页爬行之后,我发现与该问题无关。

谢谢!

1 个答案:

答案 0 :(得分:3)

这是一种快速的方法(JSFiddle):

Highcharts.Axis.prototype.log2lin = function (num) {
    return Math.log(num) / Math.LN2;
};

Highcharts.Axis.prototype.lin2log = function (num) {
    return Math.pow(2, num);
};

如果您需要Axis.prototype.getLogTickPositions支持,可能需要重写minorTickInterval