Bird
Raised Fist0
Matplotlibdata~10 mins

Multi-line text 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 add multi-line text to the plot.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.text(1, 2, 'Line1\n[1]')
plt.show()
Drag options to blanks, or click blank then click option'
ALine3
BLine5
CLine4
DLine2
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to use '\n' for new lines
Using a single line string without '\n'
2fill in blank
medium

Complete the code to set the font size of multi-line text.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.text(1, 2, 'Hello\nWorld', fontsize=[1])
plt.show()
Drag options to blanks, or click blank then click option'
A12
B5
C20
D8
Attempts:
3 left
💡 Hint
Common Mistakes
Using string instead of integer for fontsize
Choosing too small or too large font sizes
3fill in blank
hard

Fix the error in the code to correctly display multi-line text with alignment.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.text(1, 2, 'First line\nSecond line', ha=[1])
plt.show()
Drag options to blanks, or click blank then click option'
A'middle'
B'center'
C'centre'
D'left'
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect alignment strings like 'middle' or 'centre'
Omitting quotes around the alignment string
4fill in blank
hard

Fill both blanks to create multi-line text with vertical and horizontal alignment.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.text(1, 2, 'Line1\nLine2', ha=[1], va=[2])
plt.show()
Drag options to blanks, or click blank then click option'
A'center'
B'top'
C'bottom'
D'left'
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up ha and va parameters
Using invalid alignment strings
5fill in blank
hard

Fill all three blanks to add multi-line text with color, font size, and alignment.

Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3])
plt.text(1, 2, 'Hello\nWorld', color=[1], fontsize=[2], ha=[3])
plt.show()
Drag options to blanks, or click blank then click option'
A'blue'
B14
C'right'
D'green'
Attempts:
3 left
💡 Hint
Common Mistakes
Using numbers as strings for fontsize
Using invalid color names
Wrong alignment strings

Practice

(1/5)
1. What does the \n character do inside a text string in matplotlib?
easy
A. It adds a space between words.
B. It changes the text color.
C. It creates a new line, splitting the text into multiple lines.
D. It makes the text bold.

Solution

  1. Step 1: Understand the role of \n in strings

    The \n character is a newline character that breaks text into multiple lines.
  2. Step 2: Apply this to matplotlib text

    Using \n inside a string in matplotlib text splits the text into separate lines on the plot.
  3. Final Answer:

    It creates a new line, splitting the text into multiple lines. -> Option C
  4. Quick Check:

    Newline character = creates new line [OK]
Hint: Remember \n means new line inside text strings [OK]
Common Mistakes:
  • Thinking \n adds space instead of new line
  • Confusing \n with color or style commands
  • Using \n outside text strings
2. Which of the following is the correct way to add multi-line text at position (2, 3) in a matplotlib plot?
easy
A. plt.text(2, 3, 'Line1\nLine2')
B. plt.text('2, 3', 'Line1\nLine2')
C. plt.text(2, 3, 'Line1\Line2')
D. plt.text(2, 3, 'Line1/Line2')

Solution

  1. Step 1: Check the syntax of plt.text()

    The function plt.text(x, y, text) requires numeric x and y coordinates and a string for text.
  2. Step 2: Identify the newline character

    The newline character is \n, so 'Line1\nLine2' correctly creates two lines.
  3. Final Answer:

    plt.text(2, 3, 'Line1\nLine2') -> Option A
  4. Quick Check:

    Correct syntax with \n = plt.text(2, 3, 'Line1\nLine2') [OK]
Hint: Use plt.text(x, y, 'line1\nline2') for multi-line text [OK]
Common Mistakes:
  • Passing coordinates as a string instead of numbers
  • Using wrong escape characters like \ or /
  • Missing the newline character \n
3. What will the following code display on the plot?
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.text(2, 5, 'Hello\nWorld', fontsize=12, color='red')
plt.show()
medium
A. A plot with red text 'Hello' on one line and 'World' below it at position (2,5).
B. A plot with red text 'Hello World' on a single line at position (2,5).
C. A plot with blue text 'Hello\nWorld' at position (2,5).
D. A plot with no text displayed.

Solution

  1. Step 1: Understand plt.text parameters

    The text is placed at (2,5) with font size 12 and color red. The string contains a newline \n.
  2. Step 2: Interpret the newline in text

    The \n splits 'Hello' and 'World' into two lines, so text appears as two lines stacked vertically.
  3. Final Answer:

    A plot with red text 'Hello' on one line and 'World' below it at position (2,5). -> Option A
  4. Quick Check:

    \n splits lines, color='red' applies [OK]
Hint: Look for \n to split lines and color param for text color [OK]
Common Mistakes:
  • Ignoring the newline and expecting one line
  • Confusing color red with blue
  • Thinking text won't appear without plt.show()
4. Identify the error in this code snippet that tries to add multi-line text:
plt.text(1, 2, 'Line1\Line2', fontsize=10)
medium
A. The text string is missing quotes.
B. The fontsize parameter is invalid.
C. The coordinates (1, 2) are out of plot range.
D. The newline character is incorrect; it should be '\n' not '\'.

Solution

  1. Step 1: Check the newline character usage

    The code uses '\' instead of '\n' to create a new line, which is incorrect.
  2. Step 2: Confirm other parameters

    Fontsize is valid, coordinates are numeric, and text is quoted properly.
  3. Final Answer:

    The newline character is incorrect; it should be '\n' not '\'. -> Option D
  4. Quick Check:

    Use \n for new lines, not single backslash [OK]
Hint: Newline must be \n, not just \ alone [OK]
Common Mistakes:
  • Using single backslash instead of \n
  • Assuming fontsize causes error
  • Thinking coordinates must be strings
5. You want to add a multi-line label on a plot at (0.5, 0.5) with the text:
"Temperature:\nHigh: 30°C\nLow: 15°C"
and make sure the text is centered and blue. Which code snippet achieves this?
hard
A. plt.text(0.5, 0.5, 'Temperature:\nHigh: 30°C\nLow: 15°C', fontsize=14, ha='center')
B. plt.text(0.5, 0.5, 'Temperature:\nHigh: 30°C\nLow: 15°C', color='blue', fontsize=14, ha='center')
C. plt.text(0.5, 0.5, 'Temperature\nHigh: 30°C\nLow: 15°C', color='red', fontsize=14, ha='left')
D. plt.text(0.5, 0.5, 'Temperature\nHigh: 30°C\nLow: 15°C', color='blue', fontsize=10, ha='right')

Solution

  1. Step 1: Check the text string for new lines

    The text uses '\n' correctly to create multiple lines.
  2. Step 2: Verify color, font size, and alignment

    Color is blue, fontsize is 14, and horizontal alignment (ha) is 'center' as required.
  3. Final Answer:

    plt.text(0.5, 0.5, 'Temperature:\nHigh: 30°C\nLow: 15°C', color='blue', fontsize=14, ha='center') -> Option B
  4. Quick Check:

    Correct text, color blue, center align = plt.text(0.5, 0.5, 'Temperature:\nHigh: 30°C\nLow: 15°C', color='blue', fontsize=14, ha='center') [OK]
Hint: Use ha='center' and color='blue' for centered blue multi-line text [OK]
Common Mistakes:
  • Using wrong color or alignment
  • Missing \n for new lines
  • Setting fontsize too small or default
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