在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_title和set_xlabel方法,传入FontProperties来设置中文标题和标签。
最后通过plt.xticks和plt.yticks方法调整x轴和y轴刻度的字体大小。
运行上述代码,就可以得到一个带有中文标题和中文标签的柱状图。
