Bird
Raised Fist0
Matplotlibdata~5 mins

Saving figures to files in Matplotlib

Choose your learning style10 modes available
Introduction

Saving figures lets you keep your charts as image files. You can share or use them later without rerunning code.

You want to include a chart in a report or presentation.
You need to save a plot for sharing with a teammate.
You want to keep a record of your data visualization results.
You want to create images for a website or blog.
You want to save multiple plots automatically in a script.
Syntax
Matplotlib
plt.savefig('filename.png', dpi=300, bbox_inches='tight')

filename.png is the name and format of the saved file.

dpi controls image quality (dots per inch).

bbox_inches='tight' trims extra white space around the figure.

Examples
Saves the current figure as a PNG file named 'plot.png' with default settings.
Matplotlib
plt.savefig('plot.png')
Saves the figure as a PDF file, useful for high-quality print.
Matplotlib
plt.savefig('plot.pdf')
Saves the figure as a JPEG with medium quality.
Matplotlib
plt.savefig('plot.jpg', dpi=150)
Saves the figure and removes extra white space around it.
Matplotlib
plt.savefig('plot.png', bbox_inches='tight')
Sample Program

This code creates a simple line plot and saves it as 'sample_plot.png' with good quality and no extra white space. It then prints a confirmation message.

Matplotlib
import matplotlib.pyplot as plt

# Create simple data
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]

# Plot the data
plt.plot(x, y, marker='o')
plt.title('Sample Line Plot')
plt.xlabel('X axis')
plt.ylabel('Y axis')

# Save the figure to a file
plt.savefig('sample_plot.png', dpi=200, bbox_inches='tight')

print('Figure saved as sample_plot.png')
OutputSuccess
Important Notes

Always call plt.savefig() before plt.show() because showing the plot can clear it.

You can save in many formats like PNG, JPG, PDF, SVG by changing the file extension.

Use dpi to control image clarity; higher means sharper but bigger files.

Summary

Use plt.savefig() to save your plots as image files.

Choose file format by the file extension you provide.

Adjust dpi and bbox_inches for quality and layout.

Practice

(1/5)
1. What does the plt.savefig() function do in matplotlib?
easy
A. It saves the current figure to a file on your computer.
B. It displays the figure on the screen.
C. It clears the current figure.
D. It creates a new figure window.

Solution

  1. Step 1: Understand the purpose of plt.savefig()

    This function is used to save the current plot or figure to a file, such as PNG or PDF.
  2. Step 2: Differentiate from display functions

    Functions like plt.show() display the figure, but plt.savefig() writes it to disk.
  3. Final Answer:

    It saves the current figure to a file on your computer. -> Option A
  4. Quick Check:

    plt.savefig() saves figure [OK]
Hint: Remember: savefig saves, show displays [OK]
Common Mistakes:
  • Confusing plt.savefig() with plt.show()
  • Thinking savefig displays the plot
  • Assuming savefig clears the figure
2. Which of the following is the correct syntax to save a figure as a PNG file named 'plot.png'?
easy
A. plt.save('plot.png')
B. plt.savefig('plot.png')
C. plt.savefig(plot.png)
D. plt.save_figure('plot.png')

Solution

  1. Step 1: Recall the correct function name

    The function to save figures is plt.savefig(), not plt.save() or others.
  2. Step 2: Check the argument format

    The filename must be a string, so it should be in quotes: 'plot.png'.
  3. Final Answer:

    plt.savefig('plot.png') -> Option B
  4. Quick Check:

    Correct function and string filename [OK]
Hint: Use plt.savefig('filename.ext') with quotes [OK]
Common Mistakes:
  • Missing quotes around filename
  • Using incorrect function name
  • Passing filename without quotes
3. What will happen if you run this code?
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.savefig('myplot.pdf', dpi=300)
plt.close()
medium
A. The plot is shown on screen but not saved.
B. An error occurs because dpi is not allowed with PDF files.
C. A PDF file named 'myplot.pdf' is saved with high resolution.
D. The file 'myplot.pdf' is saved but with default dpi 72.

Solution

  1. Step 1: Understand plt.savefig() with dpi parameter

    Setting dpi=300 increases the resolution of the saved image, including PDF files.
  2. Step 2: Confirm file saving and closing

    The code saves the plot as 'myplot.pdf' with dpi 300, then closes the figure to free memory.
  3. Final Answer:

    A PDF file named 'myplot.pdf' is saved with high resolution. -> Option C
  4. Quick Check:

    savefig with dpi=300 saves high-res PDF [OK]
Hint: dpi controls resolution; works with PDF too [OK]
Common Mistakes:
  • Thinking dpi is ignored for PDF
  • Expecting plot to display automatically
  • Confusing plt.close() with plt.show()
4. Identify the error in this code snippet that tries to save a figure:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.savefig(myplot.png)
plt.show()
medium
A. The file extension '.png' is invalid.
B. plt.show() must come before plt.savefig().
C. plt.plot() is missing a figure creation step.
D. The filename is not enclosed in quotes.

Solution

  1. Step 1: Check the filename argument in plt.savefig()

    The filename must be a string, so it needs quotes: 'myplot.png'.
  2. Step 2: Verify order of plt.show() and plt.savefig()

    Calling plt.savefig() before plt.show() is correct and common practice.
  3. Final Answer:

    The filename is not enclosed in quotes. -> Option D
  4. Quick Check:

    Filename must be a string in quotes [OK]
Hint: Always put filename in quotes in savefig() [OK]
Common Mistakes:
  • Omitting quotes around filename
  • Thinking plt.show() must come first
  • Assuming file extension is wrong
5. You want to save a plot tightly cropped around the content to avoid extra white space. Which plt.savefig() parameter helps achieve this?
hard
A. bbox_inches='tight'
B. format='png'
C. transparent=True
D. dpi=300

Solution

  1. Step 1: Understand the role of bbox_inches

    The parameter bbox_inches='tight' trims the saved figure to fit the content closely, removing extra margins.
  2. Step 2: Differentiate from other parameters

    dpi controls resolution, transparent controls background, and format sets file type, none affect cropping.
  3. Final Answer:

    bbox_inches='tight' -> Option A
  4. Quick Check:

    Use bbox_inches='tight' to crop figure [OK]
Hint: Use bbox_inches='tight' to crop saved figure [OK]
Common Mistakes:
  • Confusing dpi with cropping
  • Using transparent instead of bbox_inches
  • Setting format does not crop figure
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard