📖 Scenario: You are preparing a simple plot to show sales data for a small shop. You want to control how big the plot looks and how clear it is by setting the figure size and DPI (dots per inch).
🎯 Goal: Create a matplotlib plot with a specific figure size and DPI, then display it.
📋 What You'll Learn
Create a figure with size 6 inches wide and 4 inches tall
Set the DPI of the figure to 100
Plot a simple line graph of sales data
Display the plot
💡 Why This Matters
🌍 Real World
Setting figure size and DPI helps make charts clear and well-sized for reports, presentations, or websites.
💼 Career
Data scientists and analysts often adjust figure size and DPI to create professional and readable visualizations.
Progress0 / 4 steps
1
Create sales data
Create a list called sales with these exact values: [10, 15, 7, 12, 20].
Matplotlib
Hint
Use square brackets to create a list and separate numbers with commas.
2
Set figure size and DPI
Import matplotlib.pyplot as plt. Then create a figure with size 6 by 4 inches and DPI 100 using plt.figure(figsize=(6, 4), dpi=100) and save it in a variable called fig.
Matplotlib
Hint
Use import matplotlib.pyplot as plt to import. Then use plt.figure() with figsize and dpi arguments.
3
Plot the sales data
Use plt.plot(sales) to create a line plot of the sales list.
Matplotlib
Hint
Use plt.plot() and pass the sales list as argument.
4
Display the plot
Use plt.show() to display the plot on the screen.
Matplotlib
Hint
Use plt.show() to open the plot window.
Practice
(1/5)
1. What does the figsize parameter control in a matplotlib figure?
easy
A. The physical size of the figure in inches
B. The color of the figure background
C. The resolution of the figure in dots per inch
D. The font size of the plot labels
Solution
Step 1: Understand the role of figsize
The figsize parameter sets the width and height of the figure in inches.
Step 2: Differentiate from DPI
DPI controls resolution, not size. Color and font size are unrelated to figsize.
Final Answer:
The physical size of the figure in inches -> Option A
2. Which of the following is the correct way to create a matplotlib figure with size 8 inches wide and 4 inches tall?
easy
A. plt.figure(dpi=(8, 4))
B. plt.figure(size=(8, 4))
C. plt.figure(figsize=(8, 4))
D. plt.figure(shape=(8, 4))
Solution
Step 1: Recall correct parameter name
The parameter to set figure size is figsize, which takes a tuple (width, height).
Step 2: Check syntax correctness
Only plt.figure(figsize=(8, 4)) uses figsize correctly. Others use invalid parameter names.
Final Answer:
plt.figure(figsize=(8, 4)) -> Option C
Quick Check:
Use figsize=(width, height) [OK]
Hint: Use figsize=(width, height) tuple in plt.figure() [OK]
Common Mistakes:
Using wrong parameter names like size or shape
Passing DPI values instead of size
Not using a tuple for figsize
3. What will be the DPI of the figure created by this code?
fig = plt.figure(figsize=(6, 3), dpi=150)
medium
A. 100
B. 150
C. 6
D. 3
Solution
Step 1: Identify the DPI parameter value
The code explicitly sets dpi=150 when creating the figure.
Step 2: Understand DPI meaning
DPI means dots per inch, so the figure resolution is 150 dots per inch.
Final Answer:
150 -> Option B
Quick Check:
DPI parameter sets resolution [OK]
Hint: DPI is set by dpi= value in plt.figure() [OK]
Common Mistakes:
Confusing DPI with figure size
Choosing width or height as DPI
Assuming default DPI without checking code
4. Identify the error in this code snippet:
plt.figure(figsize=8, dpi=100)
medium
A. No error, code is correct
B. dpi must be a tuple, not an integer
C. plt.figure does not accept figsize parameter
D. figsize must be a tuple, not a single integer
Solution
Step 1: Check the type of figsize argument
figsize expects a tuple (width, height), but 8 is a single integer.
Step 2: Verify dpi argument
dpi accepts an integer, so dpi=100 is correct.
Final Answer:
figsize must be a tuple, not a single integer -> Option D
Quick Check:
figsize = (width, height) tuple [OK]
Hint: Always pass figsize as (width, height) tuple [OK]
Common Mistakes:
Passing single int instead of tuple to figsize
Thinking dpi needs a tuple
Assuming figsize can be a single number
5. You want to save a plot image that is 10 inches wide and 5 inches tall with a resolution of 300 DPI. Which code snippet correctly creates and saves this figure?
hard
A. fig = plt.figure(figsize=(10, 5))
plt.plot([1, 2, 3])
fig.savefig('plot.png', dpi=300)
B. fig = plt.figure(figsize=(10, 5), dpi=100)
plt.plot([1, 2, 3])
fig.savefig('plot.png')
C. fig = plt.figure(dpi=300)
plt.plot([1, 2, 3])
fig.savefig('plot.png', figsize=(10, 5))
D. fig = plt.figure(figsize=10, dpi=300)
plt.plot([1, 2, 3])
fig.savefig('plot.png')
Solution
Step 1: Understand figure creation and saving
Setting figsize in plt.figure() controls size on screen, but saving with specific DPI requires passing dpi to savefig().
Step 2: Analyze each option
fig = plt.figure(figsize=(10, 5), dpi=100)
plt.plot([1, 2, 3])
fig.savefig('plot.png') sets DPI in figure but saving uses default DPI, so output may differ. fig = plt.figure(figsize=(10, 5))
plt.plot([1, 2, 3])
fig.savefig('plot.png', dpi=300) sets size in figure and DPI in savefig, ensuring correct size and resolution. fig = plt.figure(dpi=300)
plt.plot([1, 2, 3])
fig.savefig('plot.png', figsize=(10, 5)) wrongly passes figsize to savefig, which is invalid. fig = plt.figure(figsize=10, dpi=300)
plt.plot([1, 2, 3])
fig.savefig('plot.png') passes single int to figsize, causing error.