我必须使用 Highcharts 库渲染图表,但我需要 y 轴是对数的。这很容易通过将 yAxis 类型设置为logarithmic.
但是,轴上的刻度是 10 次等距的幂:0.01, 0.1, 1, 10, 100, ...
我想要完全相同的东西,但以 2 为底:等距刻度,轴上写的值为 2 的幂:0.5、1、2、4、8、16、...
如果刻度数和最小值和最大值可以根据数据进行调整(如常规的以 10 为底的对数刻度),那就太好了。
有什么建议 ?在浏览网页查看对数场景后,我没有发现与该问题相关的任何内容。
谢谢!
这将是一种快速的方法(JSFiddle):
Highcharts.Axis.prototype.log2lin = function (num) {
return Math.log(num) / Math.LN2;
};
Highcharts.Axis.prototype.lin2log = function (num) {
return Math.pow(2, num);
};
Run Code Online (Sandbox Code Playgroud)
Axis.prototype.getLogTickPositions如果您需要minorTickInterval支持,您可能需要重写。
| 归档时间: |
|
| 查看次数: |
608 次 |
| 最近记录: |