Matplotlib 简明教程

Matplotlib - Subplot Titles

What is Subplot Title?

在 Matplotlib 中的 Subplot titles 指的是分配给更大的图像中每个子图的各个标题。当我们有多个以网格排列的子图(例如,绘图矩阵)时,通常最好为每个子图添加标题以提供上下文或描述该特定子图的内容。

创建多个可视化效果时,设置子图标题是一种有用的做法,因其可以增强我们整体绘图的可读性和理解性。我们有方法 set_title() 用于设置子图的标题。

通过使用 set_title() ,我们可以向图中的各个子图添加描述性标题,从而更好地组织和理解复杂的可视化效果。

Purpose of Subplot title

  1. Provide Context − 子图标题提供了有关较大图像中每个子图内容的描述性信息,有助于更好地理解可视化效果。

  2. Differentiate Subplots − 标题通过允许查看者轻松识别和解读每个子图的数据或目的来帮助区分多个绘图。

Importance of Subplot title

  1. 子图标题有助于阐明子图网格中每个绘图的内容或目的,尤其是在同时显示多个可视化效果时。

  2. 它们有助于快速识别每个子图中显示的信息,从而提高可视化效果的整体可解释性。

Syntax

以下是设置子图标题的语法和参数。

ax.set_title('Title')

其中,

  1. *ax * − 它表示要设置标题的子图的轴对象。

  2. set_title() − 用于设置标题的方法。

  3. 'Title' − 它表示标题文本的字符串。

Subplots with title

在此示例中,我们使用 Matplotlib 库中提供的 set_title() 方法创建子图并设置每个子图的标题。

import matplotlib.pyplot as plt
import numpy as np

# Generating sample data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# Creating subplots
fig, (ax1, ax2) = plt.subplots(1, 2)

# Plotting on the first subplot
ax1.plot(x, y1)
ax1.set_title('Sine Wave')

# Plotting on the second subplot
ax2.plot(x, y2)
ax2.set_title('Cosine Wave')

# Displaying the subplots
plt.show()
subtitles plots

在此示例中,我们创建子图并向每个子图添加标题。

import matplotlib.pyplot as plt
import numpy as np

# Generating sample data
x = np.linspace(0, 10, 50)
y = np.sin(x)

# Generating random data for scatter plot
np.random.seed(0)
x_scatter = np.random.rand(50) * 10
y_scatter = np.random.rand(50) * 2 - 1  # Random values between -1 and 1

# Creating subplots
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))  # 1 row, 2 columns

# Line plot on the first subplot
ax1.plot(x, y, color='blue', label='Line Plot')
ax1.set_title('Line Plot')
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y-axis')
ax1.legend()

# Scatter plot on the second subplot
ax2.scatter(x_scatter, y_scatter, color='red', label='Scatter Plot')
ax2.set_title('Scatter Plot')
ax2.set_xlabel('X-axis')
ax2.set_ylabel('Y-axis')
ax2.legend()

# Displaying the subplots
plt.show()
subtitles plots1