3.1 Basic Concepts

1. Figure and Axes

For all Matplotlib plots, we start by creating a figure and axes. In their simplest form, a figure and axes can be created as follows:

fig = plt.figure()
ax = plt.axes()
Blank Figure

For better understanding axes, here is an example, we can plot several axes in one figure

fig = plt.figure(figsize  = (12,6))   # create a figure and set figure size
ax1= plt.axes()                       # create the first axes
ax2 = plt.axes([0.5, 0.5, 0.3, 0.3])   # create the second axes   
ax3 = plt.axes([0.2,0.2,0.2,0.2])      # create the third axes
Axes

2. Oriented Object

Matplotlib graphs your data on Figures (i.e., windows, Jupyter widgets, etc.), each of which can contain one or more Axes (i.e., an area where points can be specified in terms of x-y coordinates. It's called object-oriented. In other words, you need to create objects.

fig, ax = plt.subplots()  # Create a figure containing a single axes
x = np.linspace(0, 10, 100)
ax.plot(x, np.sin(x)) # plot a sine line on the axes
Simple Oriented Object way

3. Pyplot

There is a corresponding function in the matplotlib.pyplot module that performs that plot on the "current" axes, creating that axes (and its parent figure) if they don't exist. So the previous example can be written more shortly as

plt.plot([1,2,3,4],[3,2,3,4])  # pyplot way

As noted above, there are essentially two ways to use Matplotlib:

  • Explicitly create figures and axes, and call methods on them (the "object-oriented (OO) style").

  • Rely on pyplot to automatically create and manage the figures and axes, and use pyplot functions for plotting.

If you forget the elements of plot, find it here

Last updated

Was this helpful?