我必须使用Highcharts库渲染图表,但我需要y轴为对数。将yAxis类型设置为logarithmic
即可轻松完成。
然而,轴上的刻度是等间距为10的幂:0.01,0.1,1,10,100 ......
我想完全相同的东西,但在基数2:等间距的刻度,轴上写的值是2的幂:0.5,1,2,4,8,16 ......
如果滴答数以及最小值和最大值可以从数据中调整(如常规基数10对数刻度),那就太棒了。
有什么建议吗?在查看对数场景的网页爬行之后,我发现与该问题无关。
谢谢!
答案 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
。