Javascript - Visualising data using tones, maps, html and canvas

There are multiple ways of visualising data. Here are some different ways that will hopefully open your mind a bit. Check the the code for the examples out here: https://github.com/behu-kea/data-viz-examples/tree/main/soundarrow-up-right

Learning objectives

  • Working with alternative ways to present data

Flipped classroom videos

Maps - Leaflet.js

https://leafletjs.com/arrow-up-right is a open source javascript library for creating maps. It is quite powerful and versatile.

You can fx

  • Create routes

  • Put circles or points on a map

  • Color different sections of a map after some data

Adding a circle to Leaflet.js

Add a circle to a map on the point: latitude: 56.8033777 and longitude: 9.5168986

See the code for it here: simple-map.jsarrow-up-right, simple-map.htmlarrow-up-right

Displaying municipality data

Check an example here where i add some kommune data to leaflet:

See the code for it here: map.jsarrow-up-right, map.htmlarrow-up-right

Sound - pizzicato

Pizzicato.jsarrow-up-right is a javascript library for generating tones

To import the library put the following in your head tag:

To play any music we need the user to click something on our page. Therefore there is a button in the html

main.js

The following will play a 400 hz sinewave tone

Let's try and audialise some data!

See the code herearrow-up-right

HTML

You can just straight up create a visualisation using js and html. Fx in this projectarrow-up-right i visualised how much Danske bank money laundered for by just adding images of houses, boats and so on.

Here is an example of a site that just renders 10.000 spandauers https://github.com/behu-kea/data-viz-examples/tree/main/htmlarrow-up-right

Canvas - P5.js

Using P5.jsarrow-up-right we can draw circles, squares, points etc.

📝 Exercises

Todays exercises will also be about data conversion!

📝 Exercise 2 - level 2

Audialise the inflation in Denmark using the following codearrow-up-right

Important!! You should only work in the main.js file!

Steps:

  1. Play a tone with the frequency of 200hz using the Tone.js library

  2. Play a tone that is played after 1 second

  3. Iterate the danishInflationNumbers array in the main.js file

  4. Play the 200hz tone for each value in the array. The tones should be delayed with 1 second

  5. Now play not just the tone but the tone depending on the inflation number

📝 Exercise 3 - level 3

Using leaflet.js visualise all the ufo sightings in Denmark in 2021 using the following codearrow-up-right

In the main.js file the ufo sightings, and their lat and lng have been logged.

📝 Exercise 4 - level 3 - optional

I have found data about spotify plays

Using the following boilerplatearrow-up-right we want to create a data visualisation that tells the following story:

  • For old people in the age of 60 - 80

  • We want to say that Eminem is one of the most popular Spotify artists ever

You have to create a suitable online visualisation that tell the story above. It is up to you what tool to use and how to visualise the point

📝 Start working on your portfolio project 4

Last updated