在highchart中,给出不相等的tickPositions之后,如何保持网格线位置相等?

时间:2019-01-28 14:27:05

标签: highcharts

我正在尝试在highcharts中设置自定义的y轴,在该图中我也有两位数和超过6位的数据计数,我已经根据我的需要设置了y轴tickPosition,例如[0,50,500,5000,50000 ,500000]。但我希望网格之间的间距相等。

My Result

Highcharts.chart('container', {

    title: {
        text: 'Custom tick positions'
    },

    subtitle: {
        text: 'through axis.tickPositions and axis.tickPositioner'
    },

    xAxis: {
    },

    yAxis: {
        tickPositions: [0, 50, 500, 5000,50000,500000]
    },

    series: [{
        data: [
            [0, 5000],
            [1, 422102],
            [2, 93210],
            [3, 45111],
            [4, 12]
        ]
    }]
});

https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/xaxis/tickpositions-tickpositioner/

在上面的链接示例中,我不希望x轴上的2之后有额外的间距,我希望这些间距相等。就我而言,它在y轴上也会有帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用yAxis.type并将刻度线转换为对数刻度:

yAxis: {
    type: 'logarithmic',
    tickPositions: [0,50,500,5000,50000,500000].map((v) => Math.log10(v)) // Used to convert the numbers in logarithmic scale
},

Fiddle