Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Memory management with large figures
📖 Scenario: You are working on a data science project that requires creating multiple large plots using matplotlib. You notice your computer slows down and uses a lot of memory after generating many figures.To keep your computer fast and avoid crashes, you need to learn how to manage memory properly when working with large figures.
🎯 Goal: Learn how to create large figures with matplotlib and properly release memory by closing figures after saving or displaying them.
📋 What You'll Learn
Create a large figure with matplotlib
Add a plot with sample data
Close the figure after saving it to free memory
Print confirmation that the figure was saved and closed
💡 Why This Matters
🌍 Real World
Data scientists often create many large plots for reports or presentations. Managing memory prevents slowdowns and crashes.
💼 Career
Knowing how to save and close figures properly is essential for efficient data visualization workflows in data science and analytics jobs.
Progress0 / 4 steps
1
Create a large figure with matplotlib
Import matplotlib.pyplot as plt. Create a figure called fig with size 12 by 8 inches using plt.figure(figsize=(12, 8)).
Matplotlib
Hint
Use import matplotlib.pyplot as plt to import the plotting library.
Use plt.figure(figsize=(12, 8)) to create a large figure.
2
Add a plot with sample data
Create a list called data with values [1, 3, 2, 5, 7, 4]. Add a plot of data to the figure fig using fig.add_subplot(1, 1, 1).plot(data).
Matplotlib
Hint
Create a list data with the given numbers.
Add a subplot to fig and plot data on it.
3
Close the figure after saving it to free memory
Save the figure fig to a file named 'large_plot.png' using fig.savefig('large_plot.png'). Then close the figure using plt.close(fig) to free memory.
Matplotlib
Hint
Use fig.savefig('large_plot.png') to save the figure.
Use plt.close(fig) to close and free memory.
4
Print confirmation that the figure was saved and closed
Print the exact text 'Figure saved and memory freed.' to confirm the process is done.
Matplotlib
Hint
Use print('Figure saved and memory freed.') to show confirmation.
Practice
(1/5)
1. Why is it important to use plt.close() after creating large figures in matplotlib?
easy
A. To change the color of the figure
B. To free up memory and prevent slowing down the computer
C. To save the figure automatically
D. To increase the size of the figure
Solution
Step 1: Understand memory use by large figures
Large figures use a lot of computer memory which can slow down the system if not managed.
Step 2: Role of plt.close()
Using plt.close() frees the memory used by the figure after it is shown or saved.
Final Answer:
To free up memory and prevent slowing down the computer -> Option B
Quick Check:
Memory management = Free memory [OK]
Hint: Always close large figures to save memory after use [OK]
Common Mistakes:
Thinking plt.close() saves the figure
Believing it changes figure appearance
Ignoring memory impact of many open figures
2. Which of the following is the correct syntax to close a figure in matplotlib?
easy
A. plt.closeFigure()
B. plt.close_figure()
C. plt.closeFig()
D. plt.close()
Solution
Step 1: Recall matplotlib function names
The official function to close a figure is plt.close().
Step 2: Check other options
Other options like plt.close_figure() or plt.closeFig() do not exist in matplotlib.
Final Answer:
plt.close() -> Option D
Quick Check:
Correct function name = plt.close() [OK]
Hint: Use exact function names from matplotlib docs [OK]
Common Mistakes:
Adding extra words to function name
Using camelCase instead of snake_case
Confusing with save or show functions
3. What will be the output of the following code snippet?
import matplotlib.pyplot as plt
for i in range(3):
fig = plt.figure()
plt.plot([1, 2, 3], [i, i+1, i+2])
plt.show()
medium
A. Three plots will be shown and memory will be freed automatically
B. Only one plot will be shown, others are overwritten
C. Three plots will be shown but memory is not freed, causing high usage
D. Code will raise an error because plt.close() is missing
Solution
Step 1: Analyze the loop creating figures
The loop creates 3 separate figures and plots on each without closing them.
Step 2: Understand memory impact
Since plt.close() is not called, all figures stay in memory, increasing usage.
Final Answer:
Three plots will be shown but memory is not freed, causing high usage -> Option C
Quick Check:
Figures open without close = high memory [OK]
Hint: Without plt.close(), memory stays used after plotting [OK]
Common Mistakes:
Assuming memory frees automatically after plt.show()
Thinking only one plot appears
Expecting an error without plt.close()
4. Identify the error in this code that creates multiple large figures:
import matplotlib.pyplot as plt
for i in range(5):
fig = plt.figure(figsize=(10,8))
plt.plot([1,2,3], [i,i+1,i+2])
plt.show()
medium
A. Missing plt.close() to free memory after each figure
B. plt.show() should be outside the loop
C. Figure size is too small for large data
D. Plot data lists have different lengths
Solution
Step 1: Check memory management in loop
The code creates large figures repeatedly but never closes them, causing memory buildup.
Step 2: Identify missing memory freeing step
Adding plt.close() after plt.show() frees memory for each figure.
Final Answer:
Missing plt.close() to free memory after each figure -> Option A
Quick Check:
Close figures in loops to avoid memory leaks [OK]
Hint: Always close figures inside loops after showing [OK]
Common Mistakes:
Moving plt.show() outside loop without closing figures
Changing figure size instead of closing
Ignoring memory issues with many figures
5. You need to generate 100 large plots in a script without running out of memory. Which approach is best to manage memory efficiently?
hard
A. Create each figure, plot data, save it, then call plt.close() before next
B. Create all 100 figures first, then plot and save them all together
C. Plot all data on one figure without closing it
D. Use plt.show() after all figures are created without closing
Solution
Step 1: Understand memory use when creating many figures
Creating many large figures without closing them uses too much memory and slows the system.
Step 2: Best practice for memory management
Creating, saving, then closing each figure before the next frees memory and avoids overload.
Final Answer:
Create each figure, plot data, save it, then call plt.close() before next -> Option A
Quick Check:
Close each figure after saving to save memory [OK]
Hint: Save and close each figure before next to avoid memory issues [OK]
Common Mistakes:
Creating all figures before saving causes memory overload
Not closing figures after plotting
Plotting all data on one figure when separate plots needed