Как использовать rc param `usetex = True` с другими шрифтами в matplotlib

Paalon спросил: 28 марта 2018 в 02:08 в: python

Я хочу рисовать с латексными и другими шрифтами, но доступен только шрифт латекса. Как включить другие шрифты с помощью usetex?

import numpy as np
import matplotlib.pyplot as pltplt.rc('text', usetex=True)
plt.rc('font', family='Arial')plt.imshow(np.random.randn(100, 100))
plt.title('This is a test')
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.show()

Зарезервированное изображение

1 ответ

MaxNoe ответил: 28 марта 2018 в 04:00

Использование usetex=True

Вы должны использовать свой собственный заголовок LaTeX для matplotlib. Затем вы можете использовать пакеты шрифтов для выбора шрифтов.

import numpy as np
import matplotlib.pyplot as pltplt.rcParams['text.usetex'] = True
plt.rcParams['text.latex.unicode'] = True
plt.rcParams['text.latex.preamble'] = r'''
\usepackage{mathtools}\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
% more packages here
'''plt.imshow(np.random.randn(100, 100))
plt.title('This is a test')
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.savefig('test.pdf')

Результат: