高图中的yAxis tickinterval无法按值运行

时间:2016-07-18 07:21:07

标签: javascript jquery highcharts

目前我正在使用highcharts的雷达图表。因此,在tickInterval中提供yAxis值时,不会根据给定值进行绘图。我在评论时完全提到了这个错误。请参考。这是我的fiddle

$(function () {
    $('#container').highcharts({
        chart: {
            polar: true
        },
        title: {
            text: 'Highcharts Polar Chart'
        },
        pane: {
            startAngle: 0,
            endAngle: 360
        },
        xAxis: {
            tickInterval: 45,
            min: 0,
            max: 360,
            labels: {
                formatter: function () {
                    return this.value + '°';
                }
            }
        },
        yAxis: {
        //providing tickInterval '1' is not working
        //but providing tickInterval '2' is working
            tickInterval: 1
        },
        plotOptions: {
            series: {
                pointStart: 0,
                pointInterval: 45
            },
            column: {
                pointPadding: 0,
                groupPadding: 0
            }
        },
        series: [{
            type: 'column',
            name: 'Column',
            data: [8, 7, 6, 5, 4, 3, 2, 1],
            pointPlacement: 'between'
        }, {
            type: 'line',
            name: 'Line',
            data: [1, 2, 3, 4, 5, 6, 7, 8]
        }, {
            type: 'area',
            name: 'Area',
            data: [1, 8, 2, 7, 3, 6, 4, 5]
        }]
    });
});

提前致谢。

1 个答案:

答案 0 :(得分:1)

所以,这是一个很好的问题,高等法院在tickInterval中所做的是根据用户给定的值计算tickInterval,并对值进行舍入以使其更具可读性。

但是,可以使用tickPositioner解决问题的解决方案。 您可以像这样给出自己的轴值:

yAxis: {
   tickPositions: [1, 2, 3, 4, 5],
}

这是工作jsFiddle

你也可以像这样为你的tickPositioner写一个自定义函数

var ticks = [];
    for(var i=0;i<10;i++){
    ticks.push(i+1);
    }

yAxis: {
  tickPositions: ticks
}

以下是jsFiddle

相关问题