Saving plots lets you keep your work as images or documents. You can share or use them later without rerunning code.
Saving to PNG, SVG, PDF in Matplotlib
Start learning this pattern below
Jump into concepts and practice - no test required
plt.savefig('filename.format')Replace 'filename.format' with your desired file name and extension like .png, .svg, or .pdf.
Call savefig before plt.show() to avoid saving a blank image.
plt.savefig('plot.png')plt.savefig('plot.svg')plt.savefig('plot.pdf')This code creates a simple line plot and saves it in three formats: PNG, SVG, and PDF. It prints a confirmation message after saving.
import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [10, 20, 25, 30] plt.plot(x, y, marker='o') plt.title('Sample Line Plot') plt.xlabel('X axis') plt.ylabel('Y axis') plt.savefig('sample_plot.png') plt.savefig('sample_plot.svg') plt.savefig('sample_plot.pdf') print('Plots saved as PNG, SVG, and PDF files.')
PNG files are good for photos and web images but can lose quality if resized.
SVG and PDF are vector formats, so they keep quality when zoomed or printed.
You can add extra options to savefig like dpi=300 for higher resolution PNG images.
Use plt.savefig() to save your plots as files.
Choose file format by changing the file extension: .png, .svg, or .pdf.
Save before showing the plot to ensure the image is saved correctly.
Practice
plt.savefig() function do in matplotlib?Solution
Step 1: Understand the purpose of
This function is used to save the current figure to a file on your computer.plt.savefig()Step 2: Differentiate from other functions
Functions likeplt.show()display the plot, but do not save it.plt.savefig()specifically saves the plot as an image file.Final Answer:
It saves the current plot to a file in a specified format. -> Option BQuick Check:
Save plot =plt.savefig()[OK]
- Confusing plt.savefig() with plt.show()
- Thinking savefig displays the plot
- Using savefig after plt.show() causing empty files
Solution
Step 1: Identify the correct function name
The correct function to save a plot isplt.savefig().Step 2: Use correct string syntax for filename
The filename must be a string, so it should be enclosed in quotes:'chart.pdf'.Final Answer:
plt.savefig('chart.pdf') -> Option AQuick Check:
Correct function and string filename = plt.savefig('chart.pdf') [OK]
- Omitting quotes around filename
- Using plt.save() instead of plt.savefig()
- Passing filename without quotes causing syntax error
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.savefig('output_image.svg')
plt.close()Solution
Step 1: Check the filename extension in savefig
The filename is 'output_image.svg', which ends with '.svg'.Step 2: Understand file format selection by extension
Matplotlib saves the plot in the format matching the file extension. '.svg' means it saves as an SVG vector graphic.Final Answer:
SVG vector graphic file -> Option AQuick Check:
File extension '.svg' = SVG format [OK]
- Assuming default PNG without checking extension
- Confusing SVG with PDF format
- Not saving before closing causing empty files
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [3, 2, 1])
plt.show()
plt.savefig('plot.png')Solution
Step 1: Understand the order of plt.show() and plt.savefig()
Callingplt.show()displays and clears the figure by default.Step 2: Identify consequence of saving after show()
Saving afterplt.show()often results in an empty or blank image file.Final Answer:
The plot is saved after plt.show(), which may save a blank image. -> Option DQuick Check:
Save before show to avoid blank files [OK]
- Saving after plt.show() causing empty files
- Thinking filename extension needs special format argument
- Assuming plt.plot() needs more arguments
Solution
Step 1: Check function names and parameters
The correct function isplt.savefig(). plt.plot([1,2,3],[3,2,1]) plt.save('plot.png') plt.save('plot.svg') plt.save('plot.pdf') usesplt.save(), which is invalid.Step 2: Confirm saving with explicit format or extension
plt.plot([1,2,3],[3,2,1]) plt.savefig('plot') plt.savefig('plot') plt.savefig('plot') uses filenames without extensions, so format is unclear. plt.plot([1,2,3],[3,2,1]) plt.savefig('plot.png') plt.savefig('plot.svg') plt.savefig('plot.pdf') relies on extensions only, which works but may be less explicit.Step 3: Understand explicit format argument
plt.plot([1,2,3],[3,2,1]) plt.savefig('plot.png', format='png') plt.savefig('plot.svg', format='svg') plt.savefig('plot.pdf', format='pdf') uses both filename and explicitformatargument, ensuring correct file type saving.Final Answer:
Saves the plot in PNG, SVG, and PDF formats using explicit format arguments. -> Option CQuick Check:
Use plt.savefig(filename, format='ext') for clarity [OK]
- Using plt.save() instead of plt.savefig()
- Saving without file extensions causing format errors
- Not specifying format when filename lacks extension
