📜  matplotlib 所有子图的一个图例 (1)

📅  最后修改于: 2023-12-03 14:44:12.502000             🧑  作者: Mango

Matplotlib 所有子图的一个图例

Matplotlib 是 Python 编程语言下的一个数据可视化库, 它包含了大量的工具, 可以让用户轻松创建各种图表, 包括线条图, 散点图, 条形图, 饼状图, 3D 图等等. Matplotlib 还支持多个子图, 对于需要同时显示多个图表和结果比较的情况非常有用.

在 Matplotlib 中, 我们可以通过 legend() 函数来添加一个图例.

代码示例
import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(0, 10, 1000)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建一个子图
fig, ax = plt.subplots()

# 绘制两个曲线
ax.plot(x, y1, label='sin(x)')
ax.plot(x, y2, label='cos(x)')

# 显示图例
ax.legend()

# 显示图表
plt.show()

image1

在这个例子中, 我们首先定义了两个函数 y1 = sin(x)y2 = cos(x), 然后通过创建一个图表和子图来绘制这两个函数.

fig, ax = plt.subplots()
ax.plot(x, y1, label='sin(x)')
ax.plot(x, y2, label='cos(x)')

当我们绘制完曲线之后, 我们使用 legend() 函数添加一个图例, 这个函数将自动检测我们之前给曲线指定的标签.

ax.legend()

最后, 我们显示出整个图表.

plt.show()
另一个简单的例子
import matplotlib.pyplot as plt
import numpy as np

# 生成数据
x = np.linspace(0, 10, 1000)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建一个 2x1 的子图
fig, axs = plt.subplots(2, 1, figsize=(6, 6))

# 绘制两个曲线
axs[0].plot(x, y1, label='sin(x)')
axs[1].plot(x, y2, label='cos(x)')

# 在第 2 个子图中显示图例
axs[1].legend()

# 显示图表
plt.show()

image2

在这个例子中, 我们展示了如何在一个包含多个子图的图表中添加一个图例. 我们创建了一个包含 2 个子图的图表, 并在第 2 个子图中添加了一个图例.

fig, axs = plt.subplots(2, 1, figsize=(6, 6))
axs[0].plot(x, y1, label='sin(x)')
axs[1].plot(x, y2, label='cos(x)')

我们使用 subplots() 函数来创建一个 2x1 的子图, 并将这些子图的引用存储在一个变量 axs 中. 然后我们在这些子图中绘制了曲线.

axs[1].legend()

最后, 我们通过指定子图的索引来将图例添加到第 2 个子图中.

plt.show()

最后, 我们显示出整个图表, 并将包含图例的第 2 个子图显示出来.

结论

在 Matplotlib 中, 我们可以使用 legend() 函数为我们的图表或子图添加图例. 使用图例可以让我们更好地理解我们的数据, 并帮助我们更好地表达我们的结论. 使用 legend() 函数非常简单, 你只需要指定你要添加到图例中的标签, 它就会自动为你创建一个修改样式的图例.