How to Save a Plot to a File Using Matplotlib? Last Updated : 11 Apr, 2025 Comments Improve Suggest changes Like Article Like Report 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 MatplotlibThere are several ways to save plots in Matplotlib:Using savefig()Using matplotlib.pyplot.imsave()Using the Pillow Library1. Using savefig() Methodsavefig() 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) Outputplotplot2. 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.BytesIO: We use a BytesIO buffer to store the plot image in memory, which can then be processed by PIL.fig.savefig(): Instead of converting the canvas directly to a string, we save the plot to the buffer in PNG format.Image.open(): We load the image from the buffer into a PIL image object. 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') Outputsaving plot Comment More infoAdvertise with us Next Article How to Save a Plot to a File Using Matplotlib? H hemavatisabu Follow Improve Article Tags : Python Python-matplotlib Practice Tags : python Similar Reads How to plot data from a text file using Matplotlib? Perquisites: Matplotlib, NumPy In this article, we will see how to load data files for Matplotlib. Matplotlib is a 2D Python library used for Date Visualization. We can plot different types of graphs using the same data like: Bar GraphLine GraphScatter GraphHistogram Graph and many. In this article, 3 min read How to Create Matplotlib Plots Without a GUI To create and save plots using Matplotlib without opening a GUI window, you need to configure Matplotlib to use a non-interactive backend. This can be achieved by setting the backend to 'Agg', which is suitable for generating plots without displaying them. Let's see how to set the backend to Agg: Me 2 min read Save Plot To Numpy Array using Matplotlib Saving a plot to a NumPy array in Python is a technique that bridges data visualization with array manipulation allowing for the direct storage of graphical plots as array representations, facilitating further computational analyses or modifications within a Python environment. Let's learn how to Sa 4 min read How to add a legend to a scatter plot in Matplotlib ? Adding a legend to a scatter plot in Matplotlib means providing clear labels that describe what each group of points represents. For example, if your scatter plot shows two datasets, adding a legend will display labels for each dataset, helping viewers interpret the plot correctly. We will explore s 2 min read Save Matplotlib Figure as SVG and PDF using Python In this article, we will see how can we save the Matplotlib figure as Scalable Vector Graphics(SVG) using Python or any other file format for further use. The required modules for this tutorial are Matplotlib. Matplotlib is a comprehensive library for creating static, animated, and interactive visua 3 min read How to save Matplotlib Animation? In this article, we will learn How to save Matplotlib Animation. The animated graphs made with the help of matplotlib can be saved as videos in Python. As we can create captivating animations using the matplotlib library. If you want to learn to create animations, here is a link to the article to cr 2 min read How to add text to Matplotlib? Matplotlib is a plotting library in Python to visualize data, inspired by MATLAB, meaning that the terms used (Axis, Figure, Plots) will be similar to those used in MATLAB. Pyplot is a module within the Matplotlib library which is a shell-like interface to Matplotlib module.  It provides almost any 5 min read How to save a plot using ggplot2 in R? In this article, we are going to see how to save GGPlot in R Programming language. ggplot2 is a plotting package in R that is used to create complex plots from data specified in a data frame. It provides a more programmatic interface for specifying which variables to plot on to the graphical device, 3 min read How to use matplotlib plot inline? Matplotlib is a Python library that helps in drawing graphs. It is used in data visualization and graph plotting. Matplotlib Plot Inline is a package that supports Matplotlib to display plots directly inline and save them to notebooks. In this article, we'll cover the following: What is Matplotlib I 3 min read How to Add Axes to a Figure in Matplotlib with Python? Matplotlib is a library in Python used to create figures and provide tools for customizing it. It allows plotting different types of data, geometrical figures. In this article, we will see how to add axes to a figure in matplotlib. We can add axes to a figure in matplotlib by passing a list argument 2 min read Like