Python matplotlib修改默认字体的操作

1. 简介

matplotlib是Python中常用的绘图库之一,它提供了丰富的绘图功能。在matplotlib中,默认的字体是英文的,中文显示会出现乱码的问题。为了解决这个问题,我们需要修改matplotlib的默认字体。

2. 查找默认字体

要修改matplotlib的默认字体,首先需要知道当前默认的字体是什么。我们可以使用以下代码来查找默认字体:

import matplotlib.pyplot as plt

# 获取默认字体

default_font = plt.rcParams['font.sans-serif'][:]

print("默认字体:", default_font)

运行上述代码,我们可以得到默认字体的列表。

3. 安装中文字体

要显示中文,我们需要在系统中安装中文字体。以Windows系统为例,我们可以在网上下载一些常用的中文字体文件,然后将它们安装到系统中。

在安装完中文字体后,我们可以使用以下代码来查找已安装的中文字体:

from matplotlib.font_manager import fontManager

# 获取系统中所有已安装的字体

fonts = set([f.name for f in fontManager.ttflist])

print("已安装的字体:", fonts)

运行上述代码,我们可以得到已安装的字体列表,其中包括中文字体。

4. 修改默认字体

为了修改默认字体,我们需要找到一个合适的中文字体,并将其设置为matplotlib的默认字体。我们可以使用以下代码来修改默认字体:

import matplotlib.pyplot as plt

# 设置新的默认字体

plt.rcParams['font.sans-serif'] = ['SimHei'] # 将SimHei设置为默认字体

plt.rcParams['axes.unicode_minus'] = False # 解决负号显示为方块的问题

运行上述代码,我们就将"SImHei"字体设置为了matplotlib的默认字体。如果需要使用其他的中文字体,可以将对应的字体名称替换成想要使用的字体。

5. 示例

下面我们通过一个示例来演示如何修改默认字体:

import matplotlib.pyplot as plt

# 设置新的默认字体

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

# 生成数据

x = [1, 2, 3, 4, 5]

y = [2, 4, 6, 8, 10]

# 绘制折线图

plt.plot(x, y)

# 添加标题和坐标轴标签

plt.title("折线图示例")

plt.xlabel("X轴")

plt.ylabel("Y轴")

# 显示图形

plt.show()

运行上述代码,我们可以看到生成的折线图中,标题和坐标轴标签的字体已经变成了中文。

6. 结论

通过以上步骤,我们成功修改了matplotlib的默认字体,并实现了中文显示。在实际应用中,根据需要选择合适的中文字体,并根据上述方法进行修改即可。

后端开发标签