Introduction to matplotlib

matplotlib is the workhorse of data science visualization. The module pyplot gives us MATLAB like plots.

The most basic plot is done with the “plot”-function. It looks like this:

import matplotlib.pyplot as plt
plt.plot([0, 1, 2, 3], [0, 1, 2, 3])
plt.show()

The plot function takes an x and y array and draws a blue line through all points.

You can of course draw each point independently without a line:

plt.plot([0, 1, 2, 3], [0, 1, 2, 3], "o")

or you can highlight the individual points while drawing the line

plt.plot([0, 1, 2, 3], [0, 1, 2, 3], marker='o')

You can find other markers here.

Color of the plot

The color of the line can be changed with the color parameter. The default color of a plot is blue. If you want e.g. red as the color, you can use ‘r’.

plt.plot([0, 1, 2, 3], [0, 1, 2, 3], color="r")

The following table shows the basic colors

Color shortcut
blue b
green g
red r
cyan c
magenta m
yellow y
black k (not so obvious :-))
white w

In /matplotlib/_color_data.py you find additional colors, even colors from the XKCD color survey results

plt.plot(x, y, color="xkcd:nasty green")

Stroke width and style

changing the width of the plotted line is done via linewidth

plt.plot([0, 1, 2, 3], [0, 1, 2, 3], linewidth=7.0, color="xkcd:nasty green")

and the stroke style can be altered with the linestyle parameter

plt.plot([0, 1, 2, 3], [0, 1, 2, 3], linestyle=":", color="xkcd:nasty green", linewidth=7.0)

You can find other line styles here

Axis Labels

In school I learned that all axis of a plot must have labels. So let’s add them:

plt.ylabel('some other numbers')
plt.xlabel('some numbers')

Saving the plot

If You want to save the plot as a png you can replace the show command with

plt.savefig('scatter_01.png')

You can find the code examples in one JuPyter notebook in my github repo

When you’ve become familiar with the basic plot function you can dive into part 2