为了始终具有网格线和表线的相同位置,可以根据YxIk刻度位置计算每个表行的高度。
chart: {
events: {
render: function() {
var chart = this,
ticks = chart.yAxis[0].ticks,
rows = $(".table").find("tr"),
heights = [];
Highcharts.objectEach(ticks, function(tick, i) {
heights.push(tick.gridLine.d.split(' ')[2]);
});
heights.reverse();
for (var i = 0; i < rows.length; i++) {
if (i === rows.length - 1) {
$(rows[i]).css('height', chart.chartHeight - heights[heights.length - 1])
} else if (i > 0) {
$(rows[i]).css('height', heights[i] - heights[i - 1])
} else {
$(rows[i]).css('height', heights[i])
}
}
}
}
}
现场演示:
http://jsfiddle.net/BlackLabel/avgb1cu0/