Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Locked learning resources

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Object Hierarchy

One important, big-picture concept for matplotlib is its object hierarchy. If you’ve ever worked through an introductory matplotlib tutorial, you may have started with a little bit of code that looks like this:

Language: Python
plt.plot([1,2,3,4],[1,4,9,16])

This code plots a straight line. The problem is that this small amount of code hides the fact that a plot like this is really made up of a bunch of individual objects, and those objects contain their own objects. It’s a hierarchy of objects that all come together to make the beautiful graphics you’ll see in this course.

Avatar image for alekscooper

alekscooper on June 7, 2026

0:13 “This code plots a straight line”, no it doesn’t, it plots what looks like a y=x^2 kind of thing :)

Avatar image for Bartosz Zaczyński

Bartosz Zaczyński RP Team on June 11, 2026

You’re right @alekscooper, good catch 🙂 That snippet plots [1, 2, 3, 4] against [1, 4, 9, 16], and since 1, 4, 9, 16 are the squares of 1, 2, 3, 4, the line curves upward and looks just like a piece of y = x². Calling it “a straight line” in the narration isn’t accurate.

Strictly speaking, plt.plot() joins the four points with straight segments rather than a smooth curve, but the rising slopes (3, then 5, then 7) give it that unmistakable quadratic bend.

It doesn’t change the point of the lesson, which is that even this tiny snippet is backed by a whole hierarchy of Figure, Axes, and Axis objects. But the wording is off, so I’ll flag it for the rest of the team to fix in the narration and transcript. Thanks for posting about it!

Become a Member to join the conversation.