Multi-line text helps you add clear, organized labels or notes on your charts. It makes your graphs easier to understand by breaking long text into smaller parts.
You want to add a title with multiple lines to explain your chart.
You need to label parts of a graph with detailed descriptions.
You want to add a legend or annotation that has more than one sentence.
You want to display instructions or notes directly on the plot.
Syntax
Matplotlib
plt.text(x, y, 'Line 1\nLine 2\nLine 3', fontsize=12, color='blue')
Use \n inside the string to create new lines.
x and y set the position of the text on the plot.
Examples
This adds two lines of text centered at position (0.5, 0.5).
This code draws a simple line plot and adds green multi-line text at the point (2, 5) on the graph.
Matplotlib
import matplotlib.pyplot as plt
plt.figure(figsize=(5, 3))
plt.plot([1, 2, 3], [4, 5, 6])
# Add multi-line text at position (2, 5)
plt.text(2, 5, 'This is line 1\nThis is line 2\nThis is line 3', fontsize=12, color='green')
plt.title('Example of Multi-line Text')
plt.show()
OutputSuccess
Important Notes
Make sure the text position (x, y) is inside the plot area to see the text.
You can customize font size, color, and alignment for better readability.
Summary
Use \n inside the text string to create multiple lines.
Position the text with x and y coordinates on the plot.
Multi-line text helps make your charts clearer and more informative.
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
Step 1: Understand the role of \n in strings
The \n character is a newline character that breaks text into multiple lines.
Step 2: Apply this to matplotlib text
Using \n inside a string in matplotlib text splits the text into separate lines on the plot.
Final Answer:
It creates a new line, splitting the text into multiple lines. -> Option C
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
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.
Step 2: Identify the newline character
The newline character is \n, so 'Line1\nLine2' correctly creates two lines.
Final Answer:
plt.text(2, 3, 'Line1\nLine2') -> Option A
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?
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
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.
Step 2: Interpret the newline in text
The \n splits 'Hello' and 'World' into two lines, so text appears as two lines stacked vertically.
Final Answer:
A plot with red text 'Hello' on one line and 'World' below it at position (2,5). -> Option A
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
Step 1: Check the newline character usage
The code uses '\' instead of '\n' to create a new line, which is incorrect.
Step 2: Confirm other parameters
Fontsize is valid, coordinates are numeric, and text is quoted properly.
Final Answer:
The newline character is incorrect; it should be '\n' not '\'. -> Option D
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
Step 1: Check the text string for new lines
The text uses '\n' correctly to create multiple lines.
Step 2: Verify color, font size, and alignment
Color is blue, fontsize is 14, and horizontal alignment (ha) is 'center' as required.