如何在 Matplotlib 中为子图添加标题?
Matplotlib 是一个 Python 包,广泛用于创建带有标题和描述的图、子图和可视化。制作多个子图时,为每个子图添加标题会很有帮助,可以为用户和查看者提供更多背景信息和清晰度。本文将介绍如何在 Matplotlib 中为子图添加标题。
Matplotlib
Matplotlib 是 Python 编程语言和 NumPy(其数值数学扩展)的绘图库。Tkinter、wxPython、Qt 和 GTK GUI 工具包可能包括利用其面向对象 API 的图表。
matplotlib.pyplot 是一组命令式方法,允许 matplotlib 以类似于 MATLAB 的方式运行。每个 pyplot 函数都会以某种方式改变图形,无论是通过添加绘图区域、绘制线条、添加标签等。当前图形和绘图区域在 matplotlib.pyplot 中的函数调用之间保存,绘图函数始终应用于活动的轴集(请注意,此处和整个文档中的术语"轴"是指图形的轴组件,而不是多个轴的数学术语)。
子图
Matplotlib 中的子图允许在单个图形中显示多个图或图表。我们可以借助子图同时比较和分析多组数据。这使得发现或识别趋势、模式和关系变得更容易。
子图是较大图的一部分,其中包含较小的图。每个子图在网格中都有自己的位置,这取决于网格中的行数和列数以及子图在该网格中的位置。
Matplotlib 的"subplots"方法让我们可以创建子图。此函数返回一个图形对象和一个子图对象数组。我们可以使用这些子图对象在每个子图中绘制数据。
语法
fig,ax=plt.subplots(nrows,ncolumns,index)
解释
nrows − 此参数指定网格中子图的行数。
ncolumns − 此参数指定网格中子图的列数。
index − 此参数指定当前子图的索引。索引从 1 开始,逐行增加。
我们主要使用两种方法为子图添加标题,它们是 −
set_title() 函数
title.set_text() 函数
set_title() 函数
set_title() 函数存在于 Python 的 matplotlib 库中,用于设置图和子图的标题。
语法
axes.set_title(label,font_dict=None,Loc=None,pad=None,*,y=None)
解释
Axes − 它是对象的轴。
label (values: str) − 它定义我们想要用作子图标题的文本。
font_dict − font_dict 是应用于标题文本的字体属性字典。
loc − 它是一个字符串或整数,用于指定标题的位置。我们可以传递"center"、"left"、"right"等常见参数。
pad − 它是标题和图顶部之间的填充。
示例 1
# 导入所有重要包 import numpy as n import matplotlib.pyplot as p # 创建数组数据,我们将使用它来绘制图形 x=n.array([11, 22,33, 44, 55]) # 制作子图 f, a = p.subplots(2, 2) # 使用子图和图设置数据 a[0, 0].plot(x, n.sin(x)) a[0, 1].plot(x, n.cos(x)) a[1, 0].plot(x, x) a[1, 1].plot(x, n.exp(x)) # 将标题设置为所有子图 a[0, 0].set_title("Sin graph") a[0, 1].set_title("Cos graph") a[1, 0].set_title("Linear graph") a[1, 1].set_title("exponential graph") # set Spacing f.tight_layout() p.show()
输出
title.set_text() 函数
Matplotlib set_text() 函数是一个文本类函数,用于设置子图或图中的标题或其他文本对象的文本。 set_text() 函数可用于动态更改标题或其他文本对象的文本,以响应数据或用户输入的变化。
在向图或子图添加标题时,set_text() 函数通常与 get_title() 函数一起使用,后者是 Axes 类的方法,用于获取当前子图的标题对象。
t_obj.set_text(Text_s)
t_obj:是文本对象,例如标签或标题。
Text_s:是要设置的文本。
示例 2
# 导入所有重要包 import numpy as n import matplotlib.pyplot as p # 创建数组数据,我们将使用它来绘制图形 x=n.array([11, 22,33, 44, 55]) # 制作子图 f, a = p.subplots(2, 2) # 使用子图和图设置数据 a[0, 0].plot(x, n.sin(x)) a[0, 1].plot(x, n.cos(x)) a[1, 0].plot(x, x) a[1, 1].plot(x, n.exp(x)) # 将标题设置为所有子图 a[0, 0].title.set_text("Sin graph") a[0, 1].title.set_text("Cos graph") a[1, 0].title.set_text("线性图") a[1, 1].title.set_text("指数图") # 设置间距 f.tight_layout() p.show()
输出
结论
总之,在 Matplotlib 中为子图添加标题有助于为查看者提供更清晰的上下文,为了为子图添加标题,我们使用了 matplotlib 库中提供的两种方法或函数。通过遵循本文概述的步骤,您可以使用 Python 轻松地为 Matplotlib 中的子图添加标题。