Adds text with a fraction at a specific point on the plot.
Matplotlib
plt.text(1, 5, r"$\frac{a}{b}$ is a fraction")
Sample Program
This code plots a simple quadratic curve and uses LaTeX to format the title and axis labels with math notation.
Matplotlib
import matplotlib.pyplot as plt
# Plot some data
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]
plt.plot(x, y)
# Use LaTeX in labels
plt.title(r"Quadratic Growth: $y = x^2$")
plt.xlabel(r"Input $x$")
plt.ylabel(r"Output $y$ (units)$")
plt.grid(True)
plt.show()
OutputSuccess
Important Notes
Make sure you have LaTeX installed on your system for full rendering support.
If LaTeX is not installed, matplotlib will use a fallback font but math may not look perfect.
Use raw strings (r"...") to avoid errors with backslashes in LaTeX commands.
Summary
LaTeX integration makes plot text look professional and consistent with papers.
Use raw strings and dollar signs to write math expressions in labels and titles.
This helps include symbols, formulas, and units clearly in your figures.
Practice
(1/5)
1. What does setting plt.rcParams['text.usetex'] = True do in matplotlib?
easy
A. It changes the plot background color to white.
B. It disables all text rendering in the plot.
C. It enables LaTeX rendering for all text in the plot.
D. It saves the plot as a LaTeX file.
Solution
Step 1: Understand the rcParams setting
The plt.rcParams dictionary controls matplotlib's runtime configuration. Setting text.usetex to True tells matplotlib to use LaTeX to render all text elements.
Step 2: Effect on plot text
With LaTeX enabled, labels, titles, and other text appear with professional formatting consistent with LaTeX documents.
Final Answer:
It enables LaTeX rendering for all text in the plot. -> Option C
A. A plot saved with title showing raw string \alpha + \beta = \gamma as text.
B. A plot saved with title showing Greek letters α + β = γ rendered by LaTeX.
C. SyntaxError due to incorrect LaTeX syntax.
D. Runtime error because plt.show() is missing.
Solution
Step 1: LaTeX rendering enabled
Setting plt.rcParams['text.usetex'] = True enables LaTeX rendering for all text including titles.
Step 2: Title uses raw string with LaTeX Greek letters
The raw string r'$\alpha + \beta = \gamma$' correctly formats Greek letters α, β, γ in math mode.
Step 3: Saving plot to PDF
The plot is saved as 'plot.pdf' with the LaTeX-rendered title. No error occurs without plt.show().
Final Answer:
A plot saved with title showing Greek letters α + β = γ rendered by LaTeX. -> Option B
Quick Check:
usetex=True + raw string + $...$ = LaTeX output [OK]
Hint: usetex=True + raw string + $...$ = LaTeX rendered text [OK]
Common Mistakes:
Thinking plt.show() is required to save
Confusing raw string escaping
Assuming LaTeX syntax error here
4. Identify the error in this matplotlib code snippet for LaTeX labels:
import matplotlib.pyplot as plt
plt.rcParams['text.usetex'] = True
plt.xlabel('$x^2')
plt.show()
medium
A. Unmatched dollar sign in the label string.
B. plt.show() must be called before setting xlabel.
C. plt.rcParams setting must be after plt.xlabel call.
D. Missing raw string prefix before the label string.
Solution
Step 1: Check LaTeX math delimiters
The label string '$x^2' has only one dollar sign, missing the closing $ to end math mode.
Step 2: Effect of unmatched dollar sign
Unmatched dollar signs cause LaTeX rendering errors or incorrect text display in matplotlib.
Final Answer:
Unmatched dollar sign in the label string. -> Option A
Quick Check:
LaTeX math needs matching $...$ [OK]
Hint: Always match $ signs in LaTeX labels [OK]
Common Mistakes:
Ignoring missing raw string prefix (not always error)
Changing order of rcParams and plotting calls
Thinking plt.show() order matters here
5. You want to create a plot with the title showing the equation E = mc^2 using LaTeX in matplotlib. Which code snippet correctly achieves this and saves the plot as a PDF with LaTeX-rendered text?
hard
A. plt.rcParams['text.usetex'] = True
plt.title(r'$E = mc^2$')
plt.savefig('energy.pdf')
B. plt.rcParams['text.usetex'] = True
plt.title('E = mc^2')
plt.savefig('energy.pdf')
C. plt.title(r'$E = mc^2$')
plt.savefig('energy.pdf')
D. plt.rcParams['text.usetex'] = False
plt.title(r'$E = mc^2$')
plt.savefig('energy.pdf')
Solution
Step 1: Enable LaTeX rendering
Set plt.rcParams['text.usetex'] = True to use LaTeX for all text rendering.
Step 2: Use raw string with math delimiters for title
Title must be a raw string with LaTeX math mode: r'$E = mc^2$'.
Step 3: Save plot as PDF
Use plt.savefig('energy.pdf') to save the plot with LaTeX-rendered title.
Final Answer:
plt.rcParams['text.usetex'] = True
plt.title(r'$E = mc^2$')
plt.savefig('energy.pdf') -> Option A
Quick Check:
usetex=True + raw string + $...$ + save = correct [OK]
Hint: Enable usetex and use raw string with $...$ for LaTeX titles [OK]
Common Mistakes:
Not enabling usetex before plotting
Missing raw string prefix r
Not using $ to mark LaTeX math mode
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.