Как можно прокрутить AMCharts 4 по горизонтали из кода JavaScript? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь прокрутить диаграмму по горизонтали от вызовов событий, запускаемых извне, например, при нажатии кнопки в другом месте страницы.Я в равной степени могу получить начало и индексы, где я хочу, чтобы график горизонтально прокручивался до.DateAxis диаграммы определяется следующим образом:

this.categoryAxis = chart.xAxes.push(new am4charts.DateAxis());
this.categoryAxis.dataFields.date = "value_date";
this.categoryAxis.cursorTooltipEnabled = false;
this.categoryAxis.start = 0.7;
this.categoryAxis.keepSelection = true;

А функция, вызываемая внешним событием, определяется следующим образом:

      function(res){
       let cpre = res.tree.split(',');
       cpre.forEach((el, i) => {
         cpre[i] = Number(el);
       });
       let visibleEl = this.data.findIndex((el, i) => {
         return isEqual(cpre, el.graphIndex);
       });
       console.log(visibleEl);
       //Trying to display 6 date points at any given time, not working.
       let startIndex = visibleEl - 6 < 0 ? 0 : visibleEl - 6;
       this.categoryAxis.zoomToIndexes(visibleEl, startIndex);
      }

Эта строка this.categoryAxis.zoomToIndexes(visibleEl, startIndex); в настоящее время увеличивает масштабцелевые индексы, но также увеличивает масштаб карты, что не является желаемым эффектом.Я только хочу, чтобы он прокручивался до нужной позиции без увеличения, спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

Вы можете попробовать использовать valueAxis.strictMinMax ( документы ).

valueAxis.strictMinMax = true;

Если это не сработает, попробуйте использовать dateAxis.zoomToDates() вместо zoomToIndexes ( * документы 1010 *).

...