使matplotlib在数学模式下显示衬线字体

TIF*_*TIF 3 python matplotlib

在 matplotlib 中使用数学输入时,如何使字体成为 Times New Roman。默认字体为斜体,我试图使其与其他轴标题匹配。

我正在尝试使用 \mathrm{}:

plt.xlabel(r"$\frac{\mathrm{1}}{{\mathrm{Distance}}^2 \ (\mathrm{m}^2)}$")
Run Code Online (Sandbox Code Playgroud)

正如 matplotlib 网站 ( https://matplotlib.org/users/mathtext.html )所建议的那样,但它仍然显示为 sans-serif 字体。有什么办法可以把它变成 Times new Roman 吗?谢谢!

Imp*_*est 6

解释您在轴上的文本以及绘图上使用的任何 MathText 中寻找衬线字体的问题。

import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "serif"
plt.rcParams["mathtext.fontset"] = "dejavuserif"

plt.xlabel(r"$\frac{\mathrm{1}}{{\mathrm{Distance}}^2 \ (\mathrm{m}^2)}$")
plt.ylabel("Some normal text")
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明