首页 文章

基础2中的Highcharts log轴

提问于
浏览
1

我必须使用Highcharts库渲染图表,但我需要y轴为对数 . 通过将yAxis类型设置为 logarithmic ,可以轻松完成此操作 .

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

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

如果滴答数和最小值和最大值可以从数据中调整(如常规基数10对数标度),那将是很好的 .

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

谢谢!

1 回答

  • 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);
    };
    

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

相关问题