‘axessubplot’ object has no attribute ‘savefig’ [SOLVED]

The error attributeerror: 'axessubplot' object has no attribute 'savefig' is a Python error that indicates that the program is attempting to call the savefig() method on an object of type AxesSubplot that is not defined.

In this article, we will show you how to solve the Python error attributeerror: 'axessubplot' object has no attribute 'savefig'. Aside from that, we will provide you with a brief discussion about the attributeerror and Python.

To start with, let’s know what an attributeerror and Python are.

AttributeError

An attributeerror is an error that appears in our Python codes when we try to access an attribute of a non-existent object. In addition, this occurs when we attempt to perform non-supported operations.

Python

Python is one of the most popular programming languages. It is used for developing a wide range of applications. It is a high-level programming language that is usually used by developers nowadays due to its flexibility.

Now that we understand this error and what an attribute error and Python are, let’s move on to our tutorial.

How to solve “’axessubplot’ object has no attribute ‘savefig’” in Python

Resolving the error attributeerror: 'axessubplot' object has no attribute 'savefig' is an easy task. All you have to do is:

→ Instead of attempting to use it on the AxesSubplot object, use the savefig() method on the Figure object.

Here’s an example demonstration for you to understand well:

  1. Create a plot using the plt.subplots() function.

    Example:

    f, sample = plt.subplots()
    sample.plot([10, 30, 50], [5, 15, 25])
  1. Call the savefig() method on the Figure object (f) to save the plot into an image.

    Example:

    f.savefig('sample_plot.png')

Example code using the above solution:

import matplotlib.pyplot as plt

f, sample = plt.subplots()
sample.plot([10, 30, 50], [5, 15, 25])
f.savefig('sample_plot.png')

Output:

Output - axessubplot object has no attribute savefig [SOLVED]

What are some of the causes for this error to occur?

  • Wrong object type. One of the most common causes of this error is that you’re wrongly calling the savefig() method on an object.
  • The version of Matplotlib is outdated. One of the causes is also an outdated version of Matplotlib.
  • Typos. Lastly, the typos. Always make sure to spell your codes correctly, as Python is case-sensitive.

Conclusion

In conclusion, the error attributeerror: 'axessubplot' object has no attribute 'savefig' in Python can be easily solved by using the savefig() method on the Figure object, instead of calling it on the AxesSubplot object.

By following the guide above, there’s no doubt that you’ll be able to solve this error quickly.

I think that’s all for today, ITSOURCECODERS! We hope you’ve learned a lot from this. If you have any questions or suggestions, please leave a comment below, and for more attribute error tutorials in Python, visit our website.

Thank you for reading!

Leave a Comment