Python matplotlib-mathtext斜体不是所需字体

Python matplotlib-mathtext斜体不是所需字体,python,matplotlib,Python,Matplotlib,我正在尝试让斜体字体与其他轴标签使用的字体匹配,但它没有按预期工作 import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.family'] = 'Garuda' #solution is to change mathtext italics as suggested below plt.rcParams['mathtext.it']= 'Garuda:italic' plt.rcParams['mathte

我正在尝试让斜体字体与其他轴标签使用的字体匹配,但它没有按预期工作

import matplotlib.pyplot as plt
import numpy as np


plt.rcParams['font.family'] = 'Garuda'
#solution is to change mathtext italics as suggested below
plt.rcParams['mathtext.it']= 'Garuda:italic'
plt.rcParams['mathtext.cal']= 'Garuda:italic'
plt.rcParams['mathtext.default'] = 'regular'
plt.rcParams["mathtext.fontset"] = 'custom'


x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Plot $\it{ugly}$ $\it{italics}$', fontsize=14)
ax.text(-0.1, -0.5, 'nice italic font', style='italic', fontsize=14)
ax.set_xlabel('Nice$_2$ font', fontsize=14)
ax.set_ylabel('$Nice^+$ font', fontsize=14)
ax.tick_params(labelsize=12)
plt.show()


从图中可以看出,标题混合了普通字体和斜体字体。如何混合这两种字体?

请确保您选择的字体为斜体,否则matplotlib将使用回退字体

例如:

# this will change regular text in the figure
plt.rcParams['font.family'] = 'Typewriter Revo'

# this is targeted to latex content
plt.rcParams['mathtext.it']= 'Typewriter Revo:italic'
plt.rcParams['mathtext.cal']= 'Typewriter Revo:italic'
plt.rcParams['mathtext.default'] = 'regular'
plt.rcParams["mathtext.fontset"] = 'custom'


为了能够使用自定义字体,我必须将它们添加到matplotlib的列表中。是解决该问题的好方法。

使用
plt.rcParams['mathtext.it']='Garuda:italic'解决。
非常感谢