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.