以下脚本:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as mpl
mpl.rc('font', family='sans-serif')
mpl.rc('text', usetex=True)
fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.text(0.2,0.5,r"Math font: $451^\circ$")
ax.text(0.2,0.7,r"Normal font (except for degree symbol): 451$^\circ$")
fig.savefig('test.png')
Run Code Online (Sandbox Code Playgroud)
尝试在matplotlib中使用带有LaTeX的sans-serif字体.问题是数学字体仍然是衬线字体(由轴编号表示,并由中心的标签所示).有没有办法将数学字体设置为sans-serif?
我正在尝试使用matplotlib在一个已保存的图中以罗马字体显示一个简单的希腊字母mu.我尝试了两种方法:
plt.xlabel(u'Wavelength (\u03bc m)')当我这样做时,此方法可以正常工作show(),但是当我尝试使用时savefig(),mu字符在保存为.png时显示为矩形.如果我保存为.pdf,则符号完全丢失.
plt.xlabel(r'Wavelength ($\mathrm{\mu}$m)')这种方法使得同时具有希腊字母show()和savefig(),但性格仍是在每种情况下斜体尽管请求罗马字体.
有什么诀窍?