Guided Project: Visualizing Earnings Based On College Majors

In this exploratory data visualization course, we've been creating plots using pyplot and matplotlib directly. When we want to explore a new dataset by quickly creating visualizations, using these tools directly can be cumbersome. Thankfully, pandas has many methods for quickly generating common plots from data in DataFrames. Like pyplot, the plotting functionality in pandas is a wrapper for matplotlib. This means we can customize the plots when necessary by accessing the underlying Figure, Axes, and other matplotlib objects.

In this guided project, we'll explore how using the pandas plotting functionality along with the Jupyter notebook interface allows us to explore data quickly using visualizations. Working on guided projects will give you hands-on experience with real-world examples, so we encourage you to not only complete them but to take the time to really understand the concepts.

Specifically, we'll be working with a data set on the job outcomes of students who graduated from college between 2010 and 2012. The original data on job outcomes was released by the American Community Survey, which conducts surveys and aggregates the data.

These projects are meant to be challenging to better prepare you for the real world, so don't be discouraged if you have to refer back to previous missions. If you haven't worked with Jupyter Notebook before or need a refresher, we recommend completing our Jupyter Notebook Guided Project before continuing.


  • Practice your data visualization skills.
  • Learn how to use pandas and matplotlib together.
  • Learn to adjust your plots for readability.

Mission Outline

1. Introduction
2. Pandas, Scatter Plots
3. Pandas, Histograms
4. Pandas, Scatter Matrix Plot
5. Pandas, Bar Plots
6. Next steps


Course Info:


The median completion time for this course is 7.02 hours. View details

This course requires a basic subscription and includes four missions and one guided project.  It is the fourth course in the Data Analyst in Python path and Data Scientist in Python path.


Take a Look Inside

(function(d) { d.addEventListener("DOMContentLoaded", function() { var pathname = d.location.pathname.replace(/^[/]|[/]$/g, "").replace("/", "-"); var tags = d.getElementsByTagName("iframe"); var type = pathname.startsWith("course") ? "?course=" : pathname.startsWith("path") ? "?path=" : null; if (type) { var i; for (i = 0; i < tags.length; i++) { if (tags[i].src.indexOf("signup#iframe") !== -1) { tags[i].src = tags[i].src.replace("#iframe", "") + type + pathname + "#iframe"; } } } }, false); })(document);