不一致的刻度标签字体与 matplotlib 子图
Inconsistent tick labels font with matplotlib subplots
我正在使用 matplotlib.pyplot.subplots
制作一个绘图网格,我希望刻度标签使用 LaTeX 的无衬线字体,但是当我使用子图时,我总是至少渲染一个刻度标签使用 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()
如果您注释掉 fig, axes = plt.subplots
行,刻度标签会正常显示。
我正在使用 python 版本 3.6.0 和 matplotlib 版本 2.0.0
对 rcParams 的更改应始终尽快进行,并且必须在创建它们所影响的对象之前进行。
因此,将 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()
我正在使用 matplotlib.pyplot.subplots
制作一个绘图网格,我希望刻度标签使用 LaTeX 的无衬线字体,但是当我使用子图时,我总是至少渲染一个刻度标签使用 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()
如果您注释掉 fig, axes = plt.subplots
行,刻度标签会正常显示。
我正在使用 python 版本 3.6.0 和 matplotlib 版本 2.0.0
对 rcParams 的更改应始终尽快进行,并且必须在创建它们所影响的对象之前进行。
因此,将 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()