Inconsistent tick labels font with matplotlib subp

2020-04-21 08:40发布

I'm making a grid of plots using matplotlib.pyplot.subplots, and I want the tick labels to be in LaTeX's sans-serif font, but when I do use subplots I always get at least one tick label rendered in matplotlib's default font.

Here's a 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()

If you comment out the fig, axes = plt.subplots line, the tick labels display as they should.

I'm using python version 3.6.0 and matplotlib version 2.0.0

1条回答
欢心
2楼-- · 2020-04-21 09:08

Changes to the rcParams should always be made as soon as possible and necessarily before the objects they affect are created.

Thus, putting the rc changes at the top, resolves the issue:

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()
查看更多
登录 后发表回答