This project is one of my MAT259 projects. In this project, I wanted to explore the change of the popularities of different programming languages over the past years. By using the Seattle Public Library checkout records, I fetched, classified and visualized these checkout records to analyze the popularity change of a specific language, and also tried to see if there is any relationship between the trend of different programming languages.

Project Links

Project online demo

Source Code on Github


In addition to controlling the camera angle using the mouse, you can also naviagate the camera using ‘w’, ‘a’, ‘s’, ‘d’ keys to move forward, left, backward and right. Also ‘spacebar’ and ‘ctrl’ can translate the camera up and down. Arrow UP and Arrow Down can tilt the camera.

Design Concept

To fully utilize the extra dimensions in 3D space, I am trying to use the angle to represent the month information, and the height to represent the year. So overall the data will be presented following a helix pattern. To differentiate the programming languages, I colored most of them based on their logo color, and each language will take one radius as their track so that they will not collide with each other.

The daily checkouts should be displayed using circles or torus so that the viewer can see the result from any angle.

Also, the user should be able to select the years and languages to be shown, it’s easy for the languages to be compared.