欢迎访问宙启技术站
智能推送

在Python中使用Matplotlib字体管理器绘制图表并添加中文标题

发布时间:2023-12-27 19:03:37

在Python中使用Matplotlib进行图表绘制时,默认的字体管理器只支持英文字符的显示,如果需要在图表中添加中文标题或者中文标签,就需要使用中文字体管理器。下面是一个使用Matplotlib字体管理器绘制图表并添加中文标题的示例。

首先,需要导入需要的库,并设置Matplotlib使用中文字符集:

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

# 设置Matplotlib使用中文字符集
plt.rcParams['font.sans-serif'] = ['SimHei']

在设置中文字符集之后,可以正常绘制图表,但是还需要注意以下几个问题:

1. Matplotlib默认使用的字体大小为10pt,如果需要调整字体大小,可以使用set_size方法设置。

2. 在添加中文标题时,需要使用FontProperties指定字体和字体大小。

下面是一个具体的使用例子,假设有一个数据集data,需要绘制柱状图,并添加中文标题和中文标签:

# 数据集
data = {'类别A': 10, '类别B': 20, '类别C': 30, '类别D': 40}

# 创建子图
fig, ax = plt.subplots()

# 绘制柱状图
ax.bar(data.keys(), data.values())

# 设置标题
font_properties = FontProperties()
font_properties.set_size(16)
ax.set_title('柱状图示例', fontproperties=font_properties)

# 设置标签
ax.set_xlabel('类别', fontproperties=font_properties)
ax.set_ylabel('值', fontproperties=font_properties)

# 调整字体大小
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)

# 显示图表
plt.show()

以上代码中,首先创建了一个字典data作为数据集,然后创建一个子图,绘制柱状图,设置标题和标签,并调整字体大小。

在设置标题和标签时,使用了FontProperties指定字体和字体大小,然后调用set_titleset_xlabel方法,传入FontProperties来设置中文标题和标签。

最后通过plt.xticksplt.yticks方法调整x轴和y轴刻度的字体大小。

运行上述代码,就可以得到一个带有中文标题和中文标签的柱状图。