当前位置: 代码迷 >> python >> matplotlib:如何将Arial-font用于图例和LaTeX-mathfont用于xlabel和ylabel
  详细解决方案

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

热度:150   发布时间:2023-06-19 09:10:03.0

我想将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()

图例字体可以是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的字体不再起作用。

我该如何解决?

谢谢你提前

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

matplotlib.style.use('classic')

产量

  相关解决方案