Instagram
youtube
Facebook
Twitter

Difference between plt.plot() and ax.plot()

Description:
This is a fundamental distinction in Matplotlib. As a beginner, you’ll often see plt.plot() used, and that’s okay for quick plots. But as you grow and your projects scale, you’ll need to understand ax.plot() — which is part of the object-oriented (OO) approach — to build more structured, reusable, and professional-quality visualizations.

Code Explanation ():

  • plt.plot() is part of Matplotlib's state-based (pyplot) interface. It's designed for simplicity and mimics MATLAB-style coding. It works by implicitly tracking the current figure and axes, which is why you don’t need to explicitly create them.

  • ax.plot() belongs to the object-oriented interface. You explicitly create the figure and Axes objects using fig, ax = plt.subplots(), and then you call methods on these objects.

  • Why the difference matters:

    • plt.plot() is convenient but less flexible when you need multiple subplots or want to customize individual axes.

    • ax.plot() gives you precise control over each subplot, legend, title, and styling — it’s the professional way of doing things.



Program:

import matplotlib.pyplot as plt

# Using state-based interface
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("Using plt.plot()")
plt.show()

# Using object-oriented interface
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title("Using ax.plot()")
plt.show()


Output: