📜  如何在 Matplotlib 图形上手动添加带有颜色框的图例?(1)

📅  最后修改于: 2023-12-03 15:24:17.244000             🧑  作者: Mango

如何在 Matplotlib 图形上手动添加带有颜色框的图例?

Matplotlib 是一个 Python 库,用于绘制数据可视化图形。在 Matplotlib 中,图例是一种非常有用的功能,可以用来标识每个数据系列的颜色和样式。在本文中,我们将介绍如何在 Matplotlib 图形上手动添加带有颜色框的图例。

步骤
1. 导入必要的库

在开始之前,我们需要导入 Matplotlib 和其他必要的 Python 库。这里我们使用的是 Matplotlib 的 pyplot 模块。

import matplotlib.pyplot as plt
2. 绘制图形

为了演示如何添加带有颜色框的图例,我们首先需要绘制一个简单的图形。在这里,我们使用 Matplotlib 绘制了一个简单的折线图。

plt.plot([1, 2, 3, 4, 5], [5, 3, 7, 2, 4])
plt.show()

这段代码将生成一个简单的折线图,如下所示:

Simple Line Plot

3. 添加图例

接下来,我们需要添加一个具有颜色框的图例。在 Matplotlib 中,可以使用 legend() 函数来实现这一点。我们需要向该函数传递一个具有标签名称的字符串列表,并使用 label 参数为每个数据系列创建标签。例如,我们可以使用以下代码为折线图添加图例:

plt.plot([1, 2, 3, 4, 5], [5, 3, 7, 2, 4], label="Line 1")
plt.legend()
plt.show()

其中,label 参数为折线图创建了一个名为 'Line 1' 的标签。这将在默认位置(右上角)显示具有相应颜色的带有框的图例。

Legend on Line Plot

如果需要更改图例的位置,可以使用 loc 参数。例如,以下代码将图例放置在 loc='lower left' 处:

plt.plot([1, 2, 3, 4, 5], [5, 3, 7, 2, 4], label="Line 1")
plt.legend(loc='lower left')
plt.show()

Legend on Line Plot in Lower Left

4. 改变图例的颜色和样式

默认情况下,图例中的颜色和样式与数据系列相同。如果需要更改它们的颜色或样式,可以使用 colorlinestyle 参数。例如,以下代码将折线图和图例都改为红色:

plt.plot([1, 2, 3, 4, 5], [5, 3, 7, 2, 4], color='red', linestyle='dashed', label="Line 1")
plt.legend(loc='lower left')
plt.show()

Legend on Red Dashed Line Plot

5. 自定义图例

如果需要更大程度地控制图例的外观和位置,可以使用 legend() 函数的更多参数。例如,以下代码将自定义图例的位置和外观:

plt.plot([1, 2, 3, 4, 5], [5, 3, 7, 2, 4], color='red', linestyle='dashed', label="Line 1")
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0.)
plt.show()

其中,bbox_to_anchor 参数用于控制图例框的位置,loc 参数用于指定图例框相对于 bbox_to_anchor 的位置,borderaxespad 参数用于控制图例框与图形轴的距离。

Custom Legend on Red Dashed Line Plot

总结

在 Matplotlib 中,图例是一种非常有用的功能,用于标识数据系列的颜色和样式。可以使用 legend() 函数手动添加具有颜色框的图例,并使用参数控制图例的位置和外观。希望这篇文章能够帮助你更好地理解如何在 Matplotlib 图形上添加图例。