Подтвердить что ты не робот

Стилизация части этикетки в легенде в matplotlib

Возможно ли иметь часть текста легенды в определенном стиле, допустим, жирный или курсив?

4b9b3361

Ответ 1

Как упоминает silvado в своем комментарии, вы можете использовать рендеринг LaTeX для более гибкого управления рендерингом текста. См. Здесь для получения дополнительной информации: http://matplotlib.org/users/usetex.html

Пример:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc

# activate latex text rendering
rc('text', usetex=True)

x = np.arange(10)
y = np.random.random(10)
z = np.random.random(10)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y, label = r"This is \textbf{line 1}")
ax.plot(x, z, label = r"This is \textit{line 2}")
ax.legend()
plt.show()

enter image description here

Обратите внимание на 'r' перед строками меток. Из-за этого\будет рассматриваться как латексная команда и не будет интерпретироваться как python (так что вы можете ввести \textbf вместо \\textbf).

Ответ 2

Напишите между '$$', чтобы заставить matplotlib интерпретировать его.

import matplotlib.pyplot as plt

plt.plot(range(10), range(10), label = "Normal text $\it{Italics}$")
plt.legend()
plt.show()