0

我需要更改 yAxis 上的第一个刻度标签。我更改了 yAxis 上的最小值:

yAxis: [{
    title : {
        text : 'Position'
    },
    gridLineWidth: 1,
    startOnTick: false, 
    min: 1, //changed min value
    reversed: true,
}]

但该值未显示在前面的 yAxis 中。如何签署 yAxis 中的第一个值?

这是我的图表

如果我写:

yAxis: [{
    title : {
    text : 'Позиция'
    },
    startOnTick: false, 
    showFirstLabel: true,
    min: 1,
    reversed: true, 
    tickInterval: 1,
    labels: {
          formatter: function() {
            if (this.value < 1)
                return null;
            else if (this.value == 1)
                return this.value;
            else if (this.value % 2 == 0)
                    return this.value;
        }
    }

}] 然后缩放 yAxis 对我的数据不利:(图表

4

2 回答 2

2

您可以定义自己的yAxis.tickPositioner来定义您希望放置刻度的所有位置。

由于在您的情况下您不想覆盖整个行为,而只是在 min 位置放置一个刻度,您可以利用该axis.getLinearTickPositions(interval, min, max)方法获取将生成的默认位置数组,然后将您的额外刻度附加到这个数组。

下面的代码在 y 轴的最小值和最大值上都添加了刻度

yAxis: {
    showFirstLabel: true,
    showLastLabel: true,
    tickPositioner: function(min, max) {
        // specify an interval for ticks or use max and min to get the interval
        var interval = Math.round((max - min) / 5);
        var dataMin = this.dataMin;
        var dataMax = this.dataMax;
        // push the min value at beginning of array
        var positions = [dataMin];
        var defaultPositions = this.getLinearTickPositions(interval, dataMin, max);
        //push all other values that fall between min and max
        for (var i = 0; i < defaultPositions.length; i++) {
            if (defaultPositions[i] > dataMin && defaultPositions[i] < dataMax) {
                positions.push(defaultPositions[i]);
            }
        }
        // push the max value at the end of the array
        positions.push(dataMax);
        return positions;
    }
}

在 y 轴的最小值和最大值上显示刻度 | Highchart & Highstock @ jsFiddle
您的图表演示 @ jsFiddle

于 2012-11-13T09:33:12.597 回答
0

对我来说,似乎一切正常。反转图表的最小值是 1,它位于 y 轴的正上方。但是,如果您想在轴上显示此值,请查看此帖子以获取说明。

于 2012-11-12T07:59:09.053 回答