A picture is worth a thousand words, and with Python’s ** matplotlib** library, it fortunately takes far less than a thousand words of code to create a production-quality graphic.

However, `matplotlib`

is also a massive library, and getting a plot to look just right is often achieved through trial and error. Using one-liners to generate basic plots in `matplotlib`

is relatively simple, but skillfully commanding the remaining 98% of the library can be daunting.

In this **beginner-friendly** course, you’ll learn about plotting in Python with `matplotlib`

by looking at the theory and following along with practical examples. While learning by example can be tremendously insightful, it helps to have even just a surface-level understanding of the library’s inner workings and layout as well.

**By the end of this course, you’ll:**

- Know the differences between PyLab and Pyplot
- Grasp the key concepts in the design of
`matplotlib`

- Understand
`plt.subplots()`

- Visualize arrays with
`matplotlib`

- Plot by combining
`pandas`

and`matplotlib`

This course assumes you know a tiny bit of NumPy. You’ll mainly use the `numpy.random`

module to generate “toy” data, drawing samples from different statistical distributions. If you don’t already have `matplotlib`

installed, see the documentation for a walkthrough before proceeding.