Save a Plot to a File in Python

share link

by dot icon Updated: Jul 26, 2023

technology logo
technology logo

Solution Kit Solution Kit  

In the matplotlib library in Python, the savefig function is a convenient method. It is used to save a figure that has been created using matplotlib. Matplotlib is a used data visualization library that provides a flexible and powerful. This is an easy way to generate various plots, charts, and graphs. The save fig function allows you to save the current figure object as an image file. It is saved in PNG, JPEG, PDF, SVG, and more formats. It provides an interface to specify the desired filename, file format, and resolution. It also provides other parameters related to the saved image.   


The savefig function is particularly useful when saving the visual representation of data. It is included in a report, presentation, or shared with others. By saving the figure, you can export it in a format. That format suits your requirements or integrates it into other applications or platforms. The savefig function can be customized with various parameters. These control the size, resolution, aspect ratio, and transparency. These are used to control other properties of the saved figure. It offers flexibility in generating publication-quality visualizations tailored to specific requirements. You can create and save various plots using the savefig function in matplotlib. This is done depending on your data and the visualization requirements.  


Some common plot types that can be created using savefig:   

  • Bar Plots:   

Bar plots are used to display and compare categorical data. They represent frequencies, counts, or proportions of different categories.    

  • Histograms:   

Histograms help visualize the distribution of continuous or discrete data. They represent the frequencies of data points falling into different bins or intervals. Matplotlib provides the hist function to create histograms.   

  • Scatter Plots:   

Scatter plots are effective for visualizing the relationship between two continuous variables. Each data point is represented as a point on the plot. The position of the point corresponds to the values of the two variables.   


Many parameters can be changed to customize the look of the plot. This is done while creating a plot using the savefig function in matplotlib. These parameters allow you to control various aspects of the plot. This will include the x-axis and y-axis scales, the plot type, and the plot title. Let's discuss these parameters in more detail:   

  • Figure Size: The figsize parameter accepts a tuple. That selects the width and height of the figure in inches.   
  • DPI: The dpi parameter determines the resolution in dots per inch (dpi).   
  • X and Y Axis Scales: You can control the scaling of the x-axis and y-axis using the xlim and ylim parameters.   
  • Plot Type: Matplotlib provides various plot types. The type of plot can be specified using the appropriate plotting function. They are plot (), scatter (), bar (), hist (), etc.   
  • Plot Title: You can add a title to the plot using the title parameter. This parameter accepts a string that represents the title of the plot.    
  • Axis Labels: The xlabel and ylabel parameters allow you to set the labels for the x-axis and y-axis. These parameters accept strings. That describes the meaning or units of the respective axes.   
  • Legends: The legend provides a visual key to identify the different elements in the plot.   
  • Grid Lines: Using the grid parameter, you can turn on or off grid lines in the plot. Setting grid=True displays grid lines, while grid=False hides them. Grid lines can be useful for visual reference and aid in data interpretation.   
  • Color and Style: Matplotlib allows you to customize the color and style of the plot elements. They are lines, markers, and bars. This can be achieved using various parameters, such as color, linestyle, marker, etc.   

You can save your plots in various formats for later use. This can be done using Matplotlib's savefig function.  


Here are some tips to help you use savefig:   

  • Specify the file format: Matplotlib supports a wide range of file formats. It also includes PNG, JPEG, PDF, SVG, and more. When saving your plot, include the desired file extension in the filename. This is used to ensure the plot is saved in the appropriate format.   
  • Adjust the DPI (dots per inch): The DPI determines the resolution of the saved image. Higher DPI values result in better quality but larger file sizes. Matplotlib uses a DPI of 100 by default, but you can change it to suit your needs.    
  • Specify the size of the figure: You can control the size of the figure being saved. It can be done using the figsize parameter. This parameter takes a tuple of (width, height) values in inches.   
  • Control the whitespace around the plot: Matplotlib includes whitespace around the plot area. You can control the amount of whitespace by adjusting the bbox_inches parameter. Setting it to 'tight' removes any excess whitespace.   
  • Specify other parameters: savefig allows you to set several other parameters.   


You can follow these tips while improving the quality of plots created with savefig in this. It includes increasing the resolution of the graphics:  

  • Set the DPI (dots per inch)   
  • Choose a suitable file format   
  • Adjust figure size   
  • Use antialiasing   
  • Increase line and marker widths   
  • Accessibility and Portability   


In conclusion, using the savefig function in Matplotlib to create plots. It is used to save them as image files. It is an essential practice that enhances the effectiveness of data visualization. Using the savefig function in Matplotlib is crucial for appealing. It is crucial for understanding the data representations. By saving plots as image files, you ensure accessibility, portability, and reproducibility. Also, you can ensure the ability to share your visualizations. Here are a few key reasons why using savefig is important:   

  • Consistency and Reproducibility   
  • Publication and Documentation   
  • Data Exploration and Analysis   
  • Reusability and Sharing   


In this solution, we use the save_fig function of the matplotlib library

  1. Copy the code using the "Copy" button above, and paste it in a Python file in your IDE.
  2. Modify the values.
  3. Run the file and check the output.

I hope you found this useful. I have added the link to dependent libraries, version information in the following sections

Dependent Libraries

matplotlibby matplotlib

Python doticonstar image 17559 doticonVersion:v3.7.1doticon
no licences License: No License (null)

matplotlib: plotting with Python


            matplotlibby matplotlib

            Python doticon star image 17559 doticonVersion:v3.7.1doticonno licences License: No License

            matplotlib: plotting with Python

                      Environment Tested 

                      I tested this solution in the following versions. Be mindful of changes when working with other versions. 

                      1. The solution is created in Python3.11. 


                      1. For any support on kandi solution kits, please use the chat
                      2. For further learning resources, visit the Open Weaver Community learning page.


                      1. What is Matplotlib, and how can I save figures?   

                      Matplotlib is a Python library used for data visualization. It provides a wide range of functions. Also, it provides tools for creating various plots, charts, and graphs. Matplotlib is customizable, allowing you to create appealing figures to represent your data. To save figures created with Matplotlib, you can use the savefig() function. This function saves the current figure to a file in various formats, such as PNG, JPEG, PDF, SVG, and more. Here's a basic example of how you can use savefig():   


                      import matplotlib.pyplot as plt   

                      # Generate some data   

                      x = [1, 2, 3, 4, 5]   

                      y = [2, 4, 6, 8, 10]   

                      # Create a figure and plot the data   

                      plt.plot(x, y)   

                      # Save the figure to a file (in PNG format)   



                      We need to import the pyplot module from the Matplotlib library. Then generate some sample data. We then create a figure using plt.plot() and plot the data points. Finally, we use plt.savefig() to save the figure to a file named "my_figure.png" in the current directory.   


                      2. Discuss the different types of plots that can be created with a savefig matplotlib. Also, Explain bar plots, histograms, and scatter plots.   

                      You can create various plots when using the savefig function in Matplotlib. Then save them as image files. Here are three common types of plots that you can create using savefig:   

                      • Bar plots: Bar plots compare and visualize categorical data.    
                      • Histograms: Histograms represent the distribution of continuous or discrete data.    
                      • Scatter plots: Scatter plots display the relationship between two variables.   


                      To create these plots and save them using savefig, you would follow these steps:   

                      • Import the necessary libraries, including Matplotlib.   
                      • Generate or load your data.   
                      • Use Matplotlib's plotting functions (e.g., bar, hist, scatter) to create the desired plot.   
                      • Customize the plot with labels, titles, colors, etc., as needed.   
                      • Call the savefig function, specifying the desired filename and file format (e.g., PNG, JPEG, PDF).   


                      3. What file extension is used when saving a figure from Matplotlib?    

                      Matplotlib supports various file formats for saving figures, including:   

                      • PNG (Portable Network Graphics): The file extension for saving a figure in PNG format is .png. This format is used for web graphics and produces high-quality images.   
                      • JPEG/JPG: The file extension for saving a figure in JPEG format is .jpeg or .jpg. JPEG is a used format for photographs and images with continuous-tone colors.   
                      • SVG (Scalable Vector Graphics): The file extension for saving a figure in SVG format is .svg. SVG is a vector graphics format for scaling without losing quality. It is suitable for figures that need to be resized or edited later.   
                      • PDF (Portable Document Format): The file extension for saving a figure in PDF format is .pdf. PDF is a versatile format that preserves vector graphics, text, and layout. It is often used for documents and publications.   
                      • EPS (Encapsulated PostScript): The file extension for saving a figure in EPS format is .eps.   

                      To save a figure in Matplotlib, you can use the savefig function. Also, specify the desired file name with the appropriate file extension.   


                      4. Which image format should be used for the best quality when saving from Matplotlib?    

                      When saving images for the best quality, PNG format is used. PNG is an image format that supports high-quality graphics. It provides good compression without significant loss of detail. To save an image into a PNG file in Matplotlib, you can use the savefig function. Also, specify the file name with a .png extension. Here's an example:   


                      import matplotlib.pyplot as plt   

                      # Plotting code   

                      # Save the figure as a PNG image   



                      By default, Matplotlib uses a DPI (dots per inch) value of 100 when saving figures. You can adjust the DPI to increase the resolution of the saved image by the dPI parameter.   


                      5. How do I save the plot window in a vector graphics format with Matplotlib?     

                      You can use the savefig function with the appropriate file extension. Matplotlib supports vector graphics formats like PDF, SVG, and EPS. Here's an example of how you can save the plot as a PDF:   


                      import matplotlib.pyplot as plt   

                      # Generate a sample plot   

                      plt.plot([1, 2, 3, 4], [1, 4, 2, 3])   

                      # Save the plot as a PDF file   

                      plt.savefig('plot.pdf', format='pdf')   


                      In the code above, we first generate a sample plot using plt.plot(). Then we call plt.savefig() to save the plot. The first argument to savefig() is the filename/path where you want to save the plot. In this case, we save it as "plot.pdf". The format parameter is set to 'pdf' to specify the desired vector graphics format.  

                      See similar Kits and Libraries