Графики Ng2 — Анимация не работает на линейном графике OnInit

#angular #charts #chart.js #ng2-charts

#angular #Диаграммы #chart.js #ng2-графики

Вопрос:

Я работаю с диаграммами ng2 для создания панели мониторинга. Когда я работаю с линейными диаграммами, анимация не работает в начале, но работает, когда график завершен и обновляются данные.

Часть моих опций:

 animation: {
      animation: true,
      duration: 2500,
}
  

Мой html:

 <canvas baseChart height="450" width="1120" [datasets]="lineChartData" [labels]="lineChartLabels"
    [options]="lineChartOptions" [colors]="lineChartColors" [chartType]="lineChartType"
    (chartClick)="chartClicked($event)">
</canvas>
  

Ответ №1:

Вам нужно указать тип анимации, чтобы перезаписать поведение по умолчанию, например, так:

 animation: {
      animateScale: true,
      animateRotate: true,
      duration: 2000,
      easing: 'easeInOutElastic',
    }
  

где:

  easing: Easing = 'linear' | 'easeInQuad' | 'easeOutQuad' | 'easeInOutQuad' | 'easeInCubic' | 'easeOutCubic' | 'easeInOutCubic' |
    'easeInQuart' | 'easeOutQuart' | 'easeInOutQuart' | 'easeInQuint' | 'easeOutQuint' | 'easeInOutQuint' | 'easeInSine' | 'easeOutSine' |
    'easeInOutSine' | 'easeInExpo' | 'easeOutExpo' | 'easeInOutExpo' | 'easeInCirc' | 'easeOutCirc' | 'easeInOutCirc' | 'easeInElastic' |
    'easeOutElastic' | 'easeInOutElastic' | 'easeInBack' | 'easeOutBack' | 'easeInOutBack' | 'easeInBounce' | 'easeOutBounce' | 'easeInOutBounce';
  

Если вы хотите запустить onComplete() или onProgress (), они также могут быть определены.