Python Central HubSign in

Data Analytics with Python / Phase 5: Data Visualization with Matplotlib

Anatomy of a Plot

Understand Figure/Axes, ticks, labels, limits, and the plotting pipeline.

Matplotlib anatomy

A typical plot has:

  • Title
  • X label / Y label
  • Axes limits
  • Ticks
  • Legend (if multiple series)
  • Grid (optional)

You can't make a plot straight onto a blank Figure โ€” a Figure is just the canvas. You always need at least one Axes (a plotting area) inside it before you can draw anything. Most of the customization methods you'll use (set_title, set_xlim, set_xticks, ...) live on that Axes object.

diagram The plot pipeline mermaid
A Figure holds Axes; each Axes owns its own ticks, limits, labels, and plotted data.

The Figure + Axes model

Python
import matplotlib.pyplot as plt
 
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot([1, 2, 3, 4], [10, 6, 8, 4])
 
ax.set_title("Anatomy")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.grid(True, alpha=0.3)
 
plt.show()

Limits and ticks

Python
import matplotlib.pyplot as plt
 
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot([1, 2, 3, 4], [10, 6, 8, 4])
 
ax.set_xlim(0, 5)
ax.set_ylim(0, 12)
 
ax.set_xticks([1, 2, 3, 4])
ax.set_yticks([0, 4, 8, 12])
 
ax.set_title("Limits and ticks")
plt.tight_layout()
plt.show()

Visualize it

Every Matplotlib chart is built from the same nested parts: a Figure holds one or more Axes, and each Axes carries the title, the x/y labels, the ticks, and the plotted data. Here they are, labelled:

sketch The parts of a Matplotlib figure p5.js
A Figure holds one or more Axes; each Axes has a title, x/y labels, ticks, and the plotted data.

Tip

Use the object-oriented approach for consistent, reusable plotting.

Check your understanding

quizCheck yourself
  1. What is the relationship between a Figure and an Axes?

    Show answer

    A โ€” A Figure is the canvas and holds one or more Axes, the plotting areas โ€” You always need at least one Axes inside a Figure before you can draw anything, and customization methods like set_title live on the Axes.

  2. What does fig, ax = plt.subplots(figsize=(7, 4)) return?

    Show answer

    A โ€” A Figure and an Axes โ€” subplots creates the figure and one Axes. figsize=(7, 4) sets its size in inches.

  3. Which calls set the x range to 0 to 5 and the y range to 0 to 12?

    Show answer

    A โ€” ax.set_xlim(0, 5) and ax.set_ylim(0, 12) โ€” set_xlim and set_ylim control the limits. set_xticks and set_yticks choose where tick marks are drawn.

  4. What does ax.grid(True, alpha=0.3) do?

    Show answer

    A โ€” Draws a faint grid โ€” alpha controls transparency, so 0.3 gives a light grid.

Next

Continue to Line Plot to put the Figure + Axes model to work on your first real chart.

๐Ÿงช Try It Yourself

Exercise 1 โ€“ Set and read the title

exerciseYour turn

Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.

Output
Press Run to see what your code prints.

Exercise 2 โ€“ Custom x-axis limits

exerciseYour turn

Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.

Output
Press Run to see what your code prints.

Exercise 3 โ€“ Custom tick labels

exerciseYour turn

Tab indents. Press Escape, then Tab, to leave the editor. Control plus Enter runs the code; Control plus Shift plus Enter submits it.

Output
Press Run to see what your code prints.

Was this page helpful?

Let us know how we did