
matplotlib中的字体文件被封装在font_manager这个子模块中,fontManager.ttflist这个列表涵盖了所有Matplotlib支持的字体。
>>> import matplotlib.pyplot as plt >>> from matplotlib.font_manager import fontManager >>> print(fontManager.ttflist[0]) #此为字体文件
Font类中主要有7个基本属性:
若想全局设置字体,可通过更改plt.rcParams来实现,例如设为等线字体
plt.rcParams['font.sans-serif'] = 'DengXian' plt.text(0,0,'测试',fontsize=20) plt.show()
效果为
一般来说电脑中内置的字体文件都是数百记,很难逐一展示,所以接下来希望将前100个字体展示在一张图中。
然而rcParams对于并非坐标轴的属性,而是当前作图窗格的属性,若想在局部启用其他字体,可通过plt.text中的fontproperties参数来实现
import numpy as np
from matplotlib.font_manager import FontProperties
x,y = np.indices([10,10]).reshape(2,100)/10
for 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()
得到测试字体如图所示
在作图时选择其中支持中文的字体,就不会出现中文乱码问题了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)