我需要在yAxis上更改第一个刻度标签。我更改了yAxis上的最小值:
yAxis: [{
title : {
text : 'Position'
},
gridLineWidth: 1,
startOnTick: false,
min: 1, //changed min value
reversed: true,
}]
但前面的yAxis中没有显示该值。如何在yAxis中签署第一个值?
这是我的chart。
如果我写:
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会使我的数据变坏:( chart
答案 0 :(得分:2)
您可以定义自己的yAxis.tickPositioner来定义您希望勾选的所有位置。
因为在你的情况下你不想覆盖整个行为,只是在最小位置勾选,你可以利用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;
}
}
Show tick on min and max of y axis | Highchart & Highstock @ jsFiddle
Demo of your chart @ jsFiddle
答案 1 :(得分:0)
对我而言似乎一切正常。反转图表的最小值为1,它位于y轴的顶部。但是,如果要在轴上显示此值,请查看this post以获取说明。