Although writing an animation is a topic of JavaScript itself (rather than a topic of Kontrast), it may be useful for many users of Kontrast.

There are several ways to write an animation with JavaScript. We show two typical methods here. Both ways have in common an update() function that is repeatedly called. Within the update function, you can, for example, increment a value, recalculate data and update plotted data.

Animation with setInterval()

By using setInterval() you can call a function periodically.

The code structure is like this:

In this example, the function update() is called (approximately) every 10 ms.

Animation with requestAnimationFrame()

Writing animations using requestAnimationFrame() is a modern way to realize such a visualisation. The key difference to setInterval() is that requestAnimationFrame allows to call a function within the next render of your screen. Calling requestAnimationFrame repeatedly allows to run an animation at exactly the same frequency in which your screen is updated (typical screen update frequencies are 60 Hz).

We recommend using requestAnimationFrame() for fast, smooth animations and the setInterval() method for performing less-frequent updates.


The following examples use setInterval() and requestAnimationFrame(), respectively.

Advanced animation

It may be more attractive, for example, if the trace of the points is also drawn (and fades out, the older the data gets).

By utilizing an opacity axis you can realize such a visualisation. Please refer to the source code of this page for more details.