Горизонтальная прокрутка с увеличением Chart.js

Я делаю приложение в Angular 4, которое должно генерировать отчеты с диаграммами, для этого я использовал Chart.js (ng2-charts) "ng2-charts": "1.6.0"

Проблема в том, что многие из этих отчетов слишком длинные (более 10000 строк данных), и мне нужно сделать диаграмму со ВСЕМ набором данных... поэтому диаграмма выглядит так:

или как это (посмотрите на красный квадрат)

поэтому я решил сделать своего рода "зум", чтобы расширить диапазон обзора по горизонтали с помощью прокрутки, но все же диаграмма не выглядит хорошо или понято

<button (click)="zoomChart('plus')" mat-icon-button>
  <mat-icon>zoom_in</mat-icon>
</button>
<button (click)="zoomChart('minus')" mat-icon-button>
  <mat-icon>zoom_out</mat-icon>
</button>
<div class="info-widget  border-right" fxFlex="{{ zoom + 'px' }}">
  <canvas height="60"  #plotChartReport id="plotChartCanvas{{ in }}" baseChart 
    [datasets]="plotingInfo[in].points"
    [labels]="plotingInfo[in].labels"
    [options]="lineChartOptions"
    [colors]="lineChartColors"
    [legend]="lineChartLegend"
    [chartType]="lineChartType">
  </canvas>
</div>

функция zoomChart () это

zoomChart(type: string) {
  if (type === 'plus') {
    if (this.zoom <= 50000) {
      this.zoom += 500;
    }
  } else {
    if (this.zoom > 500) {
      this.zoom -= 500;
    }
  }
}

но это не работает, оно только исчезает из графиков.

Я только что попробовал это: я установил библиотеку chartjs-plugin-zoom ( https://github.com/chartjs/chartjs-plugin-zoom) и у нее есть интересные инструменты, но у нее нет функции "прокрутки", которая показывает мне легко другие точки в большом графике.

Итак, мой вопрос:

Есть ли способ контролировать ширину холста, чтобы изменить размер диаграммы и сохранить горизонтальную прокрутку с помощью кнопок? как то так: (от этого к этому)

0 ответов

Другие вопросы по тегам