старшие графики, как сделать так, чтобы оси x и y начинались с одного и того же нуля, используя категории на оси y - PullRequest
0 голосов
/ 12 декабря 2018

Добрый вечер, я использую старшие чарты, и это моя настоящая ситуация.ось х, но если я прокомментирую строки от 37 до 41, я получу то, что хочу.Есть ли способ получить оси x и y, начиная с одной и той же точки, и продолжать использовать категории?

1 Ответ

0 голосов
/ 12 декабря 2018

Вам не нужно категоризировать 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
...