Я хочу использовать индекс в метке оси в фигуре matplotlib. Используя LaTeX, я бы установил его как $N_i$
, который дает мне курсивный шрифт. Я знаю, что с помощью \mathrm
можно получить неизученный математический матем. Но я хотел бы получить текст в стандартном шрифте matplotlib sans-serif, чтобы он соответствовал остальной части текста на рисунке. Есть ли способ индексировать текст без использования латекса?
Как сделать sans seris надписью или индексом текста в matplotlib?
Ответ 1
Используйте \mathregular
, чтобы использовать шрифт, используемый для обычного текста вне mathtext:
$\mathregular{N_i}$
Посмотрите здесь для получения дополнительной информации.
Ответ 2
Вы можете сделать это, настроив rcParams
. Если у вас есть несколько элементов для настройки, вы можете сохранить их как dict
и обновить `rcParams ':
params = {'mathtext.default': 'regular' }
plt.rcParams.update(params)
Если вы хотите сделать одну модификацию, вы можете просто ввести:
plt.rcParams.update({'mathtext.default': 'regular' })
В этом отношении тривиальный пример будет следующим:
import numpy as np
from matplotlib import pyplot as plt
x = np.linspace(1, 10, 40)
y = x**2
fig = plt.figure()
ax = fig.add_subplot(111)
params = {'mathtext.default': 'regular' }
plt.rcParams.update(params)
ax.set_xlabel('$x_{my text}$')
ax.set_ylabel('$y_i$')
ax.plot(x, y)
ax.grid()
plt.show()
Дополнительную информацию о rcParams
можно найти в matplotlib documentation.