2017-04-18 309 views
0

我想限制我的y轴范围从-43到43.我还希望我的图表不显示空间/面积/任何低于或超过这些值。这里是我的轴线选项看起来像Highcharts图轴超出设定的最小值和最大值

yAxis: { 
    tickInterval: 1, 
    minorTickInterval: null, 
    endOnTick: false, 
    min: -41, 
    max: 43, 
    title: { 
     text: 'Y Coordinate' 
    }, 
    gridLineColor: 'transparent' 
} 

但是,下面的图片中,你可以清楚地看到,highcharts是为我下面的限制值,下至-45显示空间。我想要这些硬限制,以便我的背景图像与坐标网格系统完美地排成一行。 NHL shot image

我读了设置我的tickInverval为1和endOnTick为false会产生所需的结果,但它似乎并非如此。

任何想法?

+0

尝试增加'minPadding:0'和'maxPadding:0'您轴线设置以及:http://api.highcharts.com/highcharts/yAxis.maxPadding | http://api.highcharts.com/highcharts/yAxis.minPadding – jlbriggs

回答

1

勾选位置决定开始和结束轴的值。您可以使用tickPositions来传递您的头寸或创建一个函数,根据您的最小值和最大值返回标记位置并将其作为定位器传递。

const random =() => Math.round((Math.random() * 200) - 100) 
const options = { 
    yAxis: { 
    min: -99, 
    max: 99, 
    // tickPositions: [-99, 99], 
    tickPositioner() { 
     const axis = this 
     return axis.tickPositions.map((pos) => { 
     if (pos <= axis.max && pos >= axis.min) return pos // If between range 
     else if (pos > axis.max) return axis.max 
     else if (pos < axis.min) return axis.min 
     }) 
    } 
    }, 
    series: [{ 
    data: [...Array(10)].map(random), 
    type: 'column' 
    }] 
} 

const chart = Highcharts.chart('container', options) 

活生生的例子: https://jsfiddle.net/918zb76r/

相关问题