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()