In this data storytelling lesson, we'll start with a standard matplotlib plot and work to improve its appearance to better communicate the patterns we want a viewer to understand. Along the way, we'll introduce the design principles that informed those changes and provide a framework for you to apply them in the future.

As we build better-looking, clearer plots, we will be working with a dataset the Department of Education has compiled and Randol Olsen has cleaned and made available.

The Department of Education Statistics releases a dataset annually containing the percentage of bachelor's degrees granted to women from 1970 to 2012. The dataset is broken up into 17 categories of degrees, with each column as a separate category.

In this lesson and the next few lessons, we'll explore how we can communicate the nuanced narrative of gender gap using effective data visualization. You will learn the concept of data-ink ratio, which is the fractional amount of the plotting area dedicated to displaying the data, and discover that less is often more attractive. You will learn how to implement this “less is more” mantra in your visualizations by learning how to use Python and matplotlib to hide tick marks as well as hiding the spines of a graph


  • Learn how to improve the look of your graphs.
  • Learn about the data-ink ratio for plots.

Lesson Outline

1. Aesthetics
2. Introduction To The Data
3. Introduction To The Data
4. Visualizing The Gender Gap
5. Data-Ink Ratio
6. Hiding Tick Marks
7. Hiding Spines
8. Comparing Gender Gap Across Degree Categories
9. Next Steps
10. Takeaways