我使用matplotlib进行绘制和绘制新的罗马字体。但是,在最新版本中,下标不在Times New Roman中,而其他文本在Times New Roman中。外观如下。
例如,代码为
import matplotlib as mlp,numpy as np
mlp.rc('font',family='Times New Roman')
import matplotlib.pyplot as plt
fig = plt.figure();
plt.xlabel('N$_{sou}$=20',fontsize=20)
plt.show()
下标“ sou”不在Times New Roman中,而“ N”在Times New Roman中。
如何解决这个问题?
答案 0 :(得分:0)
在TeX数学模式下,标准显示带有专用数学字体(通常是所用字体的斜体)的数学表达式。 Matplotlib似乎模仿了这种行为。在TeX(或LaTeX)中,您可以使用mathrm命令来恢复旧字体,该命令似乎在matplotlib中也可以使用,如下所示:
import matplotlib as mlp,numpy as np
mlp.rc('font',family='Times New Roman')
import matplotlib.pyplot as plt
fig,axes = plt.subplots(1,2);
axes[0].set_xlabel('N$_{sou}$=20',fontsize=20)
axes[0].set_title('normal math mode')
axes[1].set_xlabel('N$_\mathrm{sou}$=20', fontsize=20)
axes[1].set_title('using \mathrm')
plt.show()