Make part of a matplotlib title bold and a different color

Question:

I would like to change part of a title to be bold. For example:

plt.title("This is title number: " + str(number))

Given a title like the above, how would I bold the str(number) part.

Asked By: bgame2498

||

Answers:

This post should answer your question on manipulating the title. You can use latex text rendering and call textbf for that particular part of the string.

Styling part of label in legend in matplotlib

Here is the documentation:
http://matplotlib.org/users/usetex.html
http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_title

Answered By: DeeGautam

activate latex text rendering

from matplotlib import rc
rc('text', usetex=True)

plt.title("This is title number: " + r"textbf{" + str(number) + "}")
Answered By: bgame2498

From matplotlib version 2 on,
there is no need to use latex (which would require a working latex installation). One can use normal MathText to render part of the title in bold.

import matplotlib.pyplot as plt
number = 2017
plt.title("This is title number: " + r"$bf{" + str(number) + "}$")
plt.show()

enter image description here

Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.