Think of the figure as a canvas and the axes as the actual graph(s) or plot(s) on the canvas. ```python plt.plot(x, y) # a single axes in the figure # figure and axes are hidden # just one figure, one subplot, one graphic # good for interactive sessions (e.g., jupyter notebooks) # introduced to mimic MATLAB's interface ax = plt.subplot() ax.plot(x, y) # one axes with hidden figure # plot one axes/graphic # object-oriented approach fig, axes = plt.subplots(2, 3) # figure 2 by 3 subplots/axes # axes will be a 2 by 3 array object # object-oriented approach fig1, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2) # unpack axes # object-oriented approach fig = plt.figure() ax = fig.add_subplot(111) ax.plot(x, y) # add subplots one at a time # object-oriented approach ``` # References - https://stackoverflow.com/questions/37970424/what-is-the-difference-between-drawing-plots-using-plot-axes-or-figure-in-matpl