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

Как сделать sans seris надписью или индексом текста в matplotlib?

Я хочу использовать индекс в метке оси в фигуре matplotlib. Используя LaTeX, я бы установил его как $N_i$, который дает мне курсивный шрифт. Я знаю, что с помощью \mathrm можно получить неизученный математический матем. Но я хотел бы получить текст в стандартном шрифте matplotlib sans-serif, чтобы он соответствовал остальной части текста на рисунке. Есть ли способ индексировать текст без использования латекса?

4b9b3361

Ответ 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()

enter image description here

Дополнительную информацию о rcParams можно найти в matplotlib documentation.