【问题标题】:Highcharts log axis in base 2以 2 为底的 Highcharts 对数轴
【发布时间】:2016-04-26 12:46:05
【问题描述】:

我必须使用 Highcharts 库渲染图表,但我需要 y 轴为对数。这很容易通过将 yAxis 类型设置为 logarithmic 来实现。

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

我想要完全相同的东西,但以 2 为底:等距刻度,轴上写的值是 2 的幂:0.5、1、2、4、8、16、...

如果刻度数以及最小值和最大值可以根据数据进行调整(如常规的以 10 为底的对数刻度),那就太好了。

有什么建议吗?在爬网查看对数场景后,我没有发现与该问题相关的任何内容。

谢谢!

【问题讨论】:

    标签: highcharts


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-16
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      相关资源
      最近更新 更多