Вам не нужно категоризировать yAxis - вы можете отобразить правильные метки yAxis, используя функцию yAxis.labels.formatter:
var yAxisCategories = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'eighth', 'ninth']
yAxis: {
labels: {
formatter() {
return yAxisCategories[this.pos]
}
}
},
jsFiddle с форматером
Если вы хотите придерживаться категоризации yAxis, вы можете вручную переместить xAxis ближе к значению yAxis 0, используя свойство xAxis.offset вместе со свойством yAxis.tickmarkPlacement 'on'.В этом примере я жестко положил -34px, но вы можете вычислить правильное значение в событии chart.load и затем обновить вычисленное смещение.
xAxis: {
type: 'category',
offset: -34
},
yAxis: {
type: 'category',
categories: ["First", "Second", "Third", "fourth", "fifth"],
tickmarkPlacement: 'on'
},
jsFiddle со смещением
Если вы хотите попробовать другой подход, дайте мне знать - я отредактирую свой ответ.
Ссылки на API:
https://api.highcharts.com/highcharts/yAxis.labels.formatter
https://api.highcharts.com/highcharts/yAxis.tickmarkPlacement
https://api.highcharts.com/highcharts/xAxis.offset