Skip to content
Software Design data visualization project
HTML Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

DataViz - Occupation Visualization

A visualization of occupations int he US to get a better idea of what their walk of life is like presented in an interactive way.

If you want to see our project website, go here

If you want to see the video we made for our project, go here


The data viz uses the pygame package as the main engine behind the visualization. Follow the directions here in order to install pygame on your system. A mouse is also required for the user interface.

Generating the graphs and the visualization requires matplotlib and pillow packages. To install matplotlib and pillow, follow the directions here and here, respectively. Furthermore, bokeh package is required to create the choropleth maps. To do so, follow the directions here.

Manipulating the data requires the pandas package. To install, follow the directions here.

Experiencing the User Interface

In order to run the user interface, in your terminal type:


Using and manipulating all the scripts

Data Extraction and Manipulation

The code that is responisble for extracting the data from files and preparing it for creating graphs can be found at Databases are added at the top of the file and running the different functions in the script return different values. For example:

output = get_specfic_value(gender_df, 'mechanical engineer', 'Man')

Creating Graphs

If there is a change in data and you have to update all the graphs for occupations, on the bottom of the file, type the following:


where job is a string of the occupation name.

Then, run the following command:


This will create and save all graphs necessary for one particular occupation. Save the graphs and replace the existing graphs in the occupation folders in FinalFigure folder with new graphs. Currently, the available jobs are mechanical engineer, surgeon, farmer, physicist, accountant, software developer, and plumber. You do not necessarily have to run this code unless new data is released from our dependent sources annually.

Creating the User Interface


Corey, Alli, Junwon

Corey Cochran-Lepiz Alli Busa Junwon Lee
Corey Cochran-Lepiz Alli Busa Junwon Lee
You can’t perform that action at this time.