python3集成matplotlib画图中文乱码的解决方法

问题描述

在python中使用matplotlib画图,里面的中文会显示乱码方块。

解决方法前提依赖

这是由于matplotlib默认使用的字体中不包含中文字符引起的,可以通过将中文字符加入到默认字体中解决。

前提:查找本地都有哪些中文字体

打开matplotlib字体,默认为C:Users用户名.matplotlib,打开fontList.json,查找中文字体如simHei,song,kai等,分别对应简体黑、宋体、楷体等。

查找到之后,其对应的name字段值即为我们接下来将要设置的中文字体名,复制下来,比如仿宋字体FangSong:

解决方法:

import matplotlib
print(matplotlib.matplotlib_fname())

会输出配置文件路径,如:

E:python_workspaceTornadoDemovenvLibsite-packagesmatplotlibmpl-datamatplotlibrc

打开此文件,找到#font.family这一行,并将这行的注释#去掉,并在其后添加自己想加入的中文字体名,如:

Python3 + matplotlib 绘制带汉字散点图:

import matplotlib.pyplot as plt


# 定义x集合和y集合
x = [1, 2]
y = [3, 4]
# 绘制散点图,并指定标签
plt.scatter(x, y, label=标签)
# 绘制图像添加标题
plt.title(散点图)
# 绘制坐标轴
plt.xlabel(x轴)
plt.ylabel(y轴)
# 绘制图像显示
plt.show()
经验分享 程序员 微信小程序 职场和发展