这篇教程Python画图时如何调用本地字体写得很实用,希望能帮到您。 matplotlib中的字体文件被封装在font_manager这个子模块中,fontManager.ttflist这个列表涵盖了所有Matplotlib支持的字体。 >>> import matplotlib.pyplot as plt>>> from matplotlib.font_manager import fontManager>>> print(fontManager.ttflist[0]) #此为字体文件<Font 'cmmi10' (cmmi10.ttf) normal normal 400 normal> Font类中主要有7个基本属性: ‘fname' | ‘name' | ‘size' | ‘stretch' | ‘style' | ‘variant' | ‘weight' | 存储路径 | 字体名 | 尺寸 | 拉伸方式 | 斜粗风格 | 变体 | 粗细 | 若想全局设置字体,可通过更改plt.rcParams来实现,例如设为等线字体 plt.rcParams['font.sans-serif'] = 'DengXian'plt.text(0,0,'测试',fontsize=20)plt.show() 效果为 
一般来说电脑中内置的字体文件都是数百记,很难逐一展示,所以接下来希望将前100个字体展示在一张图中。 然而rcParams对于并非坐标轴的属性,而是当前作图窗格的属性,若想在局部启用其他字体,可通过plt.text中的fontproperties参数来实现 import numpy as npfrom matplotlib.font_manager import FontPropertiesx,y = np.indices([10,10]).reshape(2,100)/10for i in range(100): font = fontManager.ttflist[i] plt.text(x[i],y[i],f"测试:{font.name}", fontsize=10, ha='left', va='bottom', fontproperties = FontProperties(fname=font.fname))plt.show() 得到测试字体如图所示 
在作图时选择其中支持中文的字体,就不会出现中文乱码问题了。 补充 python实现绘图时候的中文显示,显示微软雅黑字体 1.安装库pip3 install matplotlib 2.向Matplotlib添加中文字体Microsoft YaHei(微软雅黑) Matplotlib不能默认使用中文字体显示字符的原因只是因为其未包含中文字体文件,所以导入中文字体文件到Matplotlib中即可。 网上下载微软雅黑的ttf文件。Microsoft YaHei.ttf D:/python/Lib/site-packages/matplotlib/mpl-data(新电脑在C盘python39,装python的地方) 打开这个目录可以看到这个路径下的mpl-data/fonts/ttf/,这个就是Matplotlib引入字体的路径,我们只需要把微软雅黑字体的ttf文件拷贝到其中即可。 3.修改Matplotlib的默认字体配置 mpl-data/matplotlibrc这个文件,这个就是Matplotlib的配置文件。 在这个文件中搜索font.family,其中font.family: Python实现视频转换为字符画详解 基于Python实现简易的植物识别小系统 |