Bird
Raised Fist0
Matplotlibdata~30 mins

Multi-line text in Matplotlib - Mini Project: Build & Apply

Choose your learning style10 modes available
Adding Multi-line Text to a Matplotlib Plot
📖 Scenario: You are creating a simple plot to show sales data for two products. You want to add a multi-line text note on the plot to explain the data.
🎯 Goal: Build a plot with two lines and add a multi-line text annotation inside the plot area.
📋 What You'll Learn
Create a plot with two lines representing sales data.
Add a multi-line text note inside the plot using plt.text.
Use newline characters \n to create multiple lines in the text.
💡 Why This Matters
🌍 Real World
Adding multi-line text notes on plots helps explain data clearly in reports and presentations.
💼 Career
Data scientists and analysts often annotate plots with multi-line text to highlight insights or provide context.
Progress0 / 4 steps
1
Create sales data lists
Create two lists called sales_product_a and sales_product_b with these exact values: [10, 15, 20, 25] and [12, 18, 22, 28] respectively.
Matplotlib
Hint

Use square brackets to create lists with the exact numbers given.

2
Create x-axis values
Create a list called months with these exact values: [1, 2, 3, 4] representing four months.
Matplotlib
Hint

Use a list with the numbers 1 to 4 for months.

3
Plot the sales data lines
Import matplotlib.pyplot as plt. Use plt.plot to plot months vs sales_product_a and months vs sales_product_b. Add labels 'Product A' and 'Product B' respectively.
Matplotlib
Hint

Use plt.plot(x, y, label='name') to plot lines with labels.

4
Add multi-line text and show plot
Use plt.text to add multi-line text at position (2, 15) with the exact text: 'Sales Data\nProduct A and B'. Then add plt.legend() and plt.show() to display the plot.
Matplotlib
Hint

Use plt.text(x, y, 'line1\nline2') to add multi-line text.

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