Стайлинг-часть лейбла в легенде в matplotlib - PullRequest
30 голосов
/ 04 декабря 2011

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

Ответы [ 2 ]

25 голосов
/ 05 декабря 2011

Как Сильвадо упоминает в своем комментарии, вы можете использовать рендеринг 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).

16 голосов
/ 01 ноября 2016

Пишите между $$, чтобы matplotlib интерпретировал его.

import matplotlib.pyplot as plt

plt.plot(range(10), range(10), label = "Normal text $\it{Italics}$")
plt.legend()
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...