# Animations

All Animations in the chart widgets are *Implicitly Animated*. The default animation behaviour for all chart widgets is:

1. animates when the widget loads for the first time.
2. animates for every new data updates.

<div><figure><img src="https://672051664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3JD7NLiao8wvvuzkAjT9%2Fuploads%2Fd0zEsJf42EHzBX0YBPSh%2Fbar-chart.gif?alt=media&#x26;token=6ee03de2-83e5-45b8-9356-d08ae167e416" alt=""><figcaption></figcaption></figure> <figure><img src="https://672051664-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3JD7NLiao8wvvuzkAjT9%2Fuploads%2F0ZbywrITaZZtAh9EEsLO%2Fpie-chart.gif?alt=media&#x26;token=14c1236d-58a7-48ec-8875-e57c7f831896" alt=""><figcaption></figcaption></figure></div>

You can override the default behaviour using the `animateOnLoad` and `animateOnUpdate` properties at top level widget.

```dart
...
import 'package:chart_it/chart_it.dart';
	
...
child: BarChart(
  animateOnLoad: false,
  animateOnUpdate: true,
  animationDuration: const Duration(milliseconds: 750),
  data: BarSeries(
  ...
```

All animations in the widget are handled internally. However, if you wish to control your own animation, then you can provide your own custom [AnimationController](https://api.flutter.dev/flutter/animation/AnimationController-class.html) to the top level property `animation`.

```dart
...
import 'package:chart_it/chart_it.dart';
	
...
child: BarChart(
  animation: AnimationController(
    duration: Duration(milliseconds: 500),
    vsync: this, 
  ),
  data: BarSeries(
  ...
```
