python-matplotlib子图的刻度标签字体不一致

我正在使用matplotlib.pyplot.subplots绘制网格图,并且希望刻度标签使用LaTeX的sans-serif字体,但是当我使用子绘图时,我总是至少得到一个使用matplotlib默认字体呈现的刻度标签.

这是MWE:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=1, ncols=1)
x = [1,2,3,4,5]
plt.plot(x)
plt.rc('text', usetex=True)
plt.rc('font', family='sans-serif')
plt.show()

如果注释掉无花果,axes = plt.subplots行,则会显示刻度标签.

我正在使用python版本3.6.0和matplotlib版本2.0.0

解决方法:

对rcParam的更改应始终尽快进行,并且必须在创建它们影响的对象之前进行.

因此,将rc更改放在顶部可以解决此问题:

import matplotlib.pyplot as plt
plt.rc('text', usetex=True)
plt.rc('font', family='sans-serif')

fig, axes = plt.subplots(nrows=1, ncols=1)
x = [1,2,3,4,5]
plt.plot(x)

plt.show()
上一篇:OpenCV(Python)视频子图


下一篇:python-如何在Matplotlib中从两个轴取消设置`sharex`或`sharey`