2015-01-09 3 views
1

Пока я просто тестировал свои графики снова (here is a fiddle в качестве примера), я понял, что было бы более целесообразно начать шасси с шагами (например, каждый 10-й год, который должен быть отменен) в конце, а не в начале xaxis. Для меня, как пользователя, имеет смысл знать непосредственно последний год, а не первый доступный год.Используйте опцию «шаг» в Highcharts, начиная с конца xaxis

Как я еще не удалось заставить дисплей последнего года, ни с

endOnTick: true, 
    showLastLabel: true 

ни with a script, он пришел ко мне, что лучший способ, вероятно, в любом случае, чтобы заставить Highcharts начать отсчет с последний доступный год.

Кто-нибудь уже сделал это? Или - более вероятно - это невозможно?

+0

Может лучше вместо категорий, используйте тип DATETIME из XAxis , а затем вызовите endOnTick. –

ответ

0

Почему бы вам не использовать tickPositions или tickPositioner?

Вы можете использовать их, чтобы вручную сказать XAxis, чтобы показать метки в 20 лет интервал или latest year available, как вы сказали:

tickPositioner: function() { 
      var positions = [], 
       tick = Math.floor(this.dataMin); 

      while (tick < this.dataMax) { 

       positions.push(tick); 

       tick += 20; 
      } 

      positions.push(this.dataMax); 

      return positions; 
     } 

Вот DEMO

+0

@Raen: Спасибо. Очень полезно. Я попытался его инвертировать, так что он начинает отсчет назад с последним годом. Кажется, имеет смысл. Он (почти) работает ([скрипка здесь] (http://fiddle.jshell.net/4pwLj5p7/3/)), но я не знаю, почему годы выглядят таким странным образом. Вы можете помочь? – luftikus143

+1

Нет проблем. Причина в том, что вы даете позиции в обратном порядке, поэтому диаграмма не знает точной позиции, начиная с конца. Вы можете «отменить» свой массив при возврате из 'tickPositioner': http://fiddle.jshell.net/4pwLj5p7/4/ –