A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/how-to-save-a-plot-to-a-file-using-matplotlib/ below:

How to Save a Plot to a File Using Matplotlib?

How to Save a Plot to a File Using Matplotlib?

Last Updated : 11 Apr, 2025

Matplotlib is a popular Python library to create plots, charts, and graphs of different types. show() is used to plot a plot, but it doesn't save the plot to a file. In this article, we will see various methods through which a Matplotlib plot can be saved as an image file.

Methods to Save a Plot in Matplotlib

There are several ways to save plots in Matplotlib:

  1. Using savefig()
  2. Using matplotlib.pyplot.imsave()
  3. Using the Pillow Library
1. Using savefig() Method

savefig() method is the most popular way of saving plots of Matplotlib. This function enables you to save a plot in the form of a file on your local system in different formats like PNG, JPEG, SVG, etc.

In this example, we are creating our own data list, and using Matplotlib we are plotting a bar graph and saving it to the same directory. To save generated graphs in a file on a storage disk, savefig() method is used.

Python
import matplotlib.pyplot as plt

year = ['2010', '2002', '2004', '2006', '2008']
production = [25, 15, 35, 30, 10]

# Plotting bar chart
plt.bar(year, production)

# Saving the plot as a JPEG file
plt.savefig("output.jpg")

# Saving the plot with additional parameters (this is optional)
plt.savefig("output1.jpg", facecolor='yellow', bbox_inches="tight", pad_inches=0.3, transparent=True)

Output

plot plot 2. Using matplotlib.pyplot.imsave()

imsave() function is another method to save a plot as an image file. It’s commonly used to save 2D arrays as image files, making it especially useful for working with image data.

Python
import matplotlib.pyplot as plt
import numpy as np

# Generate random image data
img = np.random.rand(100, 100)

# Save image
plt.imsave('sample_image.png', img, cmap='gray')

Output

3. Using the Pillow Library (PIL)

In certain instances, it could be helpful to transform a Matplotlib plot into a Pillow (PIL) Image object and save it. This is specifically useful when one is dealing with image processing operations that need Pillow.

Python
import matplotlib.pyplot as plt
from PIL import Image
import io

fig, ax = plt.subplots()
ax.plot([1, 2, 3], [1, 2, 3])

# Save the plot to a BytesIO object
buf = io.BytesIO()
fig.savefig(buf, format='png')

# Convert the BytesIO object to a PIL Image
buf.seek(0)
img = Image.open(buf)

# Save the image
img.save('pil_image_save.png')

Output

saving plot

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4