matplotlib:如何将Arial-font用于图例和LaTeX-mathfont用于xlabel和ylabel

时间:2018-09-16 20:13:05

标签: python python-3.x matplotlib

我想将Arial设置为Legend和图形标题,将LaTeX math-font设置为x-和y-label。

情况1:不使用rcParams['text.usetex'] = True

import matplotlib
import matplotlib.pyplot as plt
legend_font = {'family' : 'Arial', 'weight' : 'normal', 'size': 23}

a = [1, 2, 3]
b = [1, 2, 3]

plt.plot(a, b, label="Legend")
plt.xlabel(r"$f/MHz$")
plt.legend(prop=legend_font)
plt.show()

enter image description here

图例字体可以是Arial,但是xlabel的字体很难看。

情况2:使用rcParams['text.usetex'] = True

import matplotlib
import matplotlib.pyplot as plt

matplotlib.rcParams['text.usetex'] = True


a = [1, 2, 3]
b = [1, 2, 3]

plt.plot(a, b, label="Legend")
plt.xlabel(r"$f/MHz$")
legend_font = {'family' : 'Arial', 'weight' : 'normal', 'size': 23}
plt.legend(prop=legend_font)
plt.show()

现在xlabel的字体正确。但是Legend的字体不再起作用。

我该如何解决?

谢谢你

1 个答案:

答案 0 :(得分:1)

在您的案例2 代码(您在上面编写的第二个代码)中的plt.xlabel()之后和legend_font = {'family' : 'Arial', 'weight' : 'normal', 'size': 23}之前添加以下行

matplotlib.style.use('classic')

输出

enter image description here