Bird
Raised Fist0
Matplotlibdata~10 mins

Font properties customization in Matplotlib - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to set the font size of the title to 20.

Matplotlib
import matplotlib.pyplot as plt
plt.title('My Plot', fontsize=[1])
plt.show()
Drag options to blanks, or click blank then click option'
A10
B20
C25
D15
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string instead of a number for fontsize.
Forgetting to pass fontsize parameter.
2fill in blank
medium

Complete the code to set the font family of the x-axis label to 'Comic Sans MS'.

Matplotlib
import matplotlib.pyplot as plt
plt.xlabel('X Axis', fontfamily=[1])
plt.show()
Drag options to blanks, or click blank then click option'
A'Comic Sans MS'
B'Times New Roman'
C'Arial'
D'Courier New'
Attempts:
3 left
💡 Hint
Common Mistakes
Passing font family without quotes.
Choosing a font family different from the instruction.
3fill in blank
hard

Fix the error in the code to make the y-axis label bold.

Matplotlib
import matplotlib.pyplot as plt
plt.ylabel('Y Axis', fontweight=[1])
plt.show()
Drag options to blanks, or click blank then click option'
Abold
B'strong'
Cstrong
D'bold'
Attempts:
3 left
💡 Hint
Common Mistakes
Passing fontweight without quotes causing a NameError.
Using incorrect keywords like 'strong' instead of 'bold'.
4fill in blank
hard

Fill both blanks to set the font style of the legend to italic and font size to 14.

Matplotlib
import matplotlib.pyplot as plt
plt.legend(['Data'], prop={'style': [1], 'size': [2])
plt.show()
Drag options to blanks, or click blank then click option'
A'italic'
B'bold'
C14
D12
Attempts:
3 left
💡 Hint
Common Mistakes
Using font size as a string instead of a number.
Using 'bold' instead of 'italic' for style.
5fill in blank
hard

Fill all three blanks to create a title with font family 'Verdana', font weight 'light', and font size 18.

Matplotlib
import matplotlib.pyplot as plt
plt.title('Custom Title', fontfamily=[1], fontweight=[2], fontsize=[3])
plt.show()
Drag options to blanks, or click blank then click option'
A'Verdana'
B'light'
C18
D'bold'
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up fontweight values or missing quotes.
Passing font size as a string instead of a number.

Practice

(1/5)
1. Which font property controls the thickness of the text in a matplotlib plot?
easy
A. family
B. size
C. weight
D. color

Solution

  1. Step 1: Understand font properties

    Font properties include size, weight, family, style, and color.
  2. Step 2: Identify the property for thickness

    The thickness or boldness of text is controlled by the 'weight' property.
  3. Final Answer:

    weight -> Option C
  4. Quick Check:

    Font thickness = weight [OK]
Hint: Thickness means weight in font properties [OK]
Common Mistakes:
  • Confusing size with weight
  • Thinking color controls thickness
  • Mixing family with weight
2. Which of the following is the correct way to set the font size of a plot title to 16 using fontdict in matplotlib?
easy
A. plt.title('My Title', font={'fontsize':16})
B. plt.title('My Title', fontdict={'size':16})
C. plt.title('My Title', font={'size':16})
D. plt.title('My Title', fontdict={'fontsize':16})

Solution

  1. Step 1: Recall fontdict usage

    In matplotlib, fontdict keys include 'size' for font size, not 'fontsize'.
  2. Step 2: Check correct syntax

    Using fontdict={'size':16} correctly sets font size to 16.
  3. Final Answer:

    plt.title('My Title', fontdict={'size':16}) -> Option B
  4. Quick Check:

    fontdict uses 'size' key [OK]
Hint: Use 'size' key inside fontdict for font size [OK]
Common Mistakes:
  • Using 'fontsize' instead of 'size'
  • Using 'font' instead of 'fontdict'
  • Wrong dictionary key names
3. What will be the font size of the x-axis label in the following code?
import matplotlib.pyplot as plt
plt.xlabel('X Axis', fontdict={'size':20, 'weight':'bold'})
plt.show()
medium
A. 20
B. Bold but default size
C. Default size (usually 10)
D. Error due to wrong fontdict

Solution

  1. Step 1: Analyze fontdict in xlabel

    The fontdict sets 'size' to 20 and 'weight' to 'bold'.
  2. Step 2: Understand effect on label

    The label will use size 20 and bold weight as specified.
  3. Final Answer:

    20 -> Option A
  4. Quick Check:

    fontdict size = 20 [OK]
Hint: fontdict size sets label font size directly [OK]
Common Mistakes:
  • Assuming default size
  • Ignoring weight property
  • Thinking code causes error
4. Identify the error in this code snippet that tries to set the legend font to italic:
import matplotlib.pyplot as plt
plt.plot([1,2,3], label='Line')
plt.legend(prop={'style':'italic'})
plt.show()
medium
A. Missing plt.legend() call
B. No error, code runs fine
C. Incorrect label argument in plot
D. 'style' is not a valid font property key for legend prop

Solution

  1. Step 1: Check font property keys for legend

    Valid keys include 'size', 'weight', 'family', 'style', and 'color'. 'style' is valid but must be a recognized value.
  2. Step 2: Verify 'italic' usage

    'italic' is a valid style, so the key is correct. However, in matplotlib, 'style' should be set inside a FontProperties object or as a string, not directly in prop dict.
  3. Step 3: Identify actual error

    The error is that 'prop' expects a FontProperties object or a dictionary with correct keys, but 'style' key is not always recognized directly in prop dict in some matplotlib versions.
  4. Final Answer:

    'style' is not a valid font property key for legend prop -> Option D
  5. Quick Check:

    Legend prop keys must be valid font properties [OK]
Hint: Use FontProperties for complex font styles in legend [OK]
Common Mistakes:
  • Using wrong keys in prop dict
  • Forgetting to import FontProperties
  • Assuming all keys work directly
5. You want to create a plot with a title that uses a custom font family 'Comic Sans MS', size 18, bold weight, and blue color. Which code snippet correctly applies all these font properties?
hard
A. plt.title('My Plot', fontdict={'family':'Comic Sans MS', 'size':18, 'weight':'bold', 'color':'blue'})
B. plt.title('My Plot', fontdict={'fontfamily':'Comic Sans MS', 'fontsize':18, 'fontweight':'bold', 'fontcolor':'blue'})
C. plt.title('My Plot', font={'family':'Comic Sans MS', 'size':18, 'weight':'bold', 'color':'blue'})
D. plt.title('My Plot', fontdict={'family':'Comic Sans MS', 'fontsize':18, 'weight':'bold', 'color':'blue'})

Solution

  1. Step 1: Check correct fontdict keys

    Valid keys are 'family', 'size', 'weight', and 'color'. 'fontsize' and 'fontweight' are incorrect keys here.
  2. Step 2: Verify values and syntax

    plt.title('My Plot', fontdict={'family':'Comic Sans MS', 'size':18, 'weight':'bold', 'color':'blue'}) uses correct keys and values for family, size, weight, and color.
  3. Final Answer:

    plt.title('My Plot', fontdict={'family':'Comic Sans MS', 'size':18, 'weight':'bold', 'color':'blue'}) -> Option A
  4. Quick Check:

    Use 'family', 'size', 'weight', 'color' keys in fontdict [OK]
Hint: Use standard keys: family, size, weight, color in fontdict [OK]
Common Mistakes:
  • Using 'fontsize' instead of 'size'
  • Using 'fontcolor' instead of 'color'
  • Passing fontdict as 'font'
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