最小和最大轴值在具有对数轴的高图表中不适用

min and max axis value not respected in HighCharts chart with a logarithmic axis

本文关键字:高图表 不适用      更新时间:2023-09-26

我有一个带有对数缩放y轴的堆积柱形图(这里的JSFiddle,改编自基本的演示图表(

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        yAxis: {
                type:'logarithmic',
            min: 0.3, // I WANT THE Y-AXIS TO START AT 0.3
            min: 25, // I WANT THE Y-AXIS TO END AT 25
            endOfTick:false,
            maxPadding:0,
                    tickInterval:0.1,
        },
        plotOptions: {
            column: {
                stacking: 'normal',
            }
        },
        series: [{
            data: [5, 3, 4, 7, 2]
        }, {
            data: [2, 2, 3, 2, 1]
        }, {
            data: [3, 4, 4, 2, 5]
        }]
    });
});

我研究了此 Stackoverflow 页面上建议的所有选项,以设置确切的最小和最大 y 轴值,但没有成功。我该怎么做才能强制 y 轴图表在我想要的值处开始和结束?

就像你找到的问题一样,使用塞巴斯蒂安的答案,tickPositioner .事实上,将startOnTickendOnTick设置为 false 时,极端是合适的,只是不渲染标签。在这种情况下,请使用 tickPositioner ,例如:

  tickPositioner: function(min, max) {
    var ticks = this.tickPositions;
    ticks = $(ticks).filter(function(i, tick) {
      return tick > min && tick < max;
    });
    ticks.slice(0, 0, min);
    ticks.push(max);
    return ticks;
  }

现场演示:http://jsfiddle.net/99w72efv/5/

没有属性endOfTick ->您要查找endOnTick

例:

  • http://jsfiddle.net/99w72efv/4/

参考:

  • http://api.highcharts.com/highcharts#yAxis.endOnTick