Matplotlib 支持广泛的文本格式,比如 TTF 页面语言、Unicode 字符等。这是因为 Matplotlib 内置了 matplotlib.font_manager 字体管理器,它是一个实现了跨平台,并符合 W3C 字体查找算法的字体集合。
TTF(TrueType Font) 是苹果公司和微软公司合作开发的页面描述语言,用来描述字符的轮廓,结合了光栅技术和矢量技术的优点。
用户可以对文本属性进行控制,比如字体大小、粗细、位置和颜色等。
与此同时,Matplotlib 也支持绘制 TeX 包含的数学符号。TeX 是一套功能强大、十分灵活的排版语言,它可以用来绘制文本、符号、数学表达式等。通过下表中的方法可以绘制出相应的内容:
text | 在绘图区域的任意位置添加文本。 |
annotate | 在绘图区域的任意位置添加带有可选箭头的注释。 |
xlabel | 在绘图区域的 x 轴上添加标签。 |
ylabel | 在绘图区域的 y 轴上添加标签。 |
title | 为绘图区域添加标题。 |
figtext | 在画布的任意位置添加文本。 |
suptitle | 为画布中添加标题。 |
Matplotlib 使用pyplot模块中的 text() 函数绘制文本,函数的语法格式如下:
参数说明如下:
下面使用 text() 函数会创建一个文本对象。示例如下:
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #正常显示负号
fig = plt.figure()
#添加绘图区域
ax = fig.add_axes([0,0,1,1])
#设置格式
ax.set_title('axes title')
ax.set_xlabel('xlabel')
ax.set_ylabel('ylabel')
# 3,8 表示x,y的坐标点;style设置字体样式为斜体;bbox用来设置盒子的属性,比如背景色
ax.text(3, 8, '城东书院,学习、工作、生活、信息平台', style='italic',bbox = {'facecolor': 'yellow'},fontsize=15)
#绘制数学表达式,用$符包裹
ax.text(2, 6, r'an equation: $E = mc^2$', fontsize = 15)
#添加文字,并设置样式
ax.text(4, 0.05, '网址:www.cdsy.xyz',verticalalignment = 'bottom', color = 'green', fontsize = 15)
ax.plot([2], [1], 'o')
#xy为点的坐标;xytext为注释内容坐标;arrowprops设置箭头的属性
ax.annotate('城东书院', xy = (2, 1), xytext = (3, 4),arrowprops = dict(facecolor = 'blue', shrink = 0.1))
#设置坐标轴x,y
ax.axis([0, 10, 0, 10])
plt.show()
代码执行结果如下: