Programming Languages Trend project illustration
All projects

Programming Languages Trend A visualization of Seattle Public Library checkout data.

2020 softwarear

Context

This project is one of my MAT 259 projects. I wanted to explore changes in the popularity of different programming languages over the years. Using Seattle Public Library checkout records, I fetched, classified, and visualized the records to analyze the popularity change of a specific language and to see whether relationships exist between programming-language trends.

Live Demo

View the interactive p5.js demo

Controls

In addition to controlling the camera angle with the mouse, you can navigate the camera with the W, A, S, and D keys to move forward, left, backward, and right. The Spacebar and Ctrl keys translate the camera up and down. The Arrow Up and Arrow Down keys tilt the camera.

Visualization Design

Sketch of the helix-based visualization
VISUALIZATION DESIGN / 01Helical time mapping

To fully use the extra dimensions in 3D space, I use the angle to represent month information and the height to represent the year. Overall, the data is presented in a helix pattern.

To differentiate programming languages, I colored most of them based on their logo colors. Each language has a separate radius as its track so that they do not collide with one another.

Daily checkouts are displayed using circles or tori so that the viewer can see the result from any angle.

Users can select the years and languages to display, making it easy to compare languages.

Full programming-language trend visualization
VISUALIZATION DESIGN / 02Full visualization view
Top-down programming-language trend visualization
VISUALIZATION DESIGN / 03Top-down visualization view
Single-year programming-language trend visualization
VISUALIZATION DESIGN / 04Single-year visualization view
Filtered programming-language trend visualization
VISUALIZATION DESIGN / 05Filtered language view