Python中的Matplotlib.axes.Axes.legend()

2025年1月5日 | 阅读 5 分钟

Legend() 是 matplotlib 库的一部分,它创建图表上的框状结构,该结构描述了现有元素的信息。

Matplotlib.axes.Axes.legend() in Python

语法

  • *args: 此功能使您能够为函数提供不同的输入。
  • **kwargs: 这代表关键字参数,允许传递附加参数来自定义图例的外观和位置。常用的参数包括 loc、font size 和 title。

未指定任何标签并调用 legend() 函数

如果我们使用 legend() 函数而未指定图形元素的标签,则它不会在图形上创建任何框状结构。

示例

这是调用 legend() 而不指定标签的清晰示例

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

如果我们调用 legend() 函数而不指定标签,它将创建没有图例的图形。

图例中要显示的元素会自动检测

示例

让我们看一个示例程序。

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

在此示例中,我们定义了 x、y1 和 y2 点来绘制图形。然后,我们使用 legend() 方法为图形上的坐标轴添加标签。我们没有使用单独的函数添加标签,而是使用了 plot 函数。legend() 函数将绘图时定义的标签作为输入。

传递附加参数

示例

这是一个示例程序。

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

在此示例中,我们定义了 x、y1 和 y2 点来绘制图形,然后使用 legend() 方法为图形上的坐标轴添加标签。为此,我们使用了带有 loc、fontsize 和 title 参数的 legend() 函数来定制图例的外观和位置。这里我们不直接在函数中添加标签,而是 legend() 函数获取绘图时定义的标签。

使用 set_label 设置标签

使用 set_label 设置标签会将标签添加到图形上的坐标轴。如果我们不带参数调用 legend() 函数,它将检测由 set_label 函数设置的标签,并用这些标签创建图例。

示例

让我们看一个示例程序。

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

在此示例中,我们导入了所需的库,然后使用 plot() 函数定义了要绘制的数据点。我们绘制了每个数据,然后为每条线使用了 set_lebel() 方法,legend 函数检测到了标签并创建了图例。最后,我们使用 show() 方法显示了图形。

legend() 与散点图

示例

这是一个示例程序。

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

在此示例中,我们有两个数据集,分别命名为 y1 和 y2,它们与同一组 x 值一起绘制。scatter() 函数为每个数据集创建散点图,而 label 参数指定了每个标签。最后,调用 legend() 函数时不带任何参数,以自动包含 scatter 函数中指定的标签。生成的图例将显示标签及其相应的标记样式和颜色。

自定义图例位置

要在 Matplotlib 图中使用 legend 函数的 loc 参数来更改图例在图中的位置。loc 参数接受代表图例不同位置的不同字符串值。loc 参数的一些常见值示例包括

  • 'upper right'
  • 'upper left'
  • 'lower left'
  • 'lower right'
  • 'right'
  • 'center left'
  • 'center right'
  • 'lower center'
  • 'upper center'
  • 'center'

示例

下面是一个将图例位置设置为左下角的示例程序

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

在这里,我们使用 legend 函数中的 loc 参数将图例的位置指定为右上角。

在 Matplotlib 中将图例放置在绘图外部

我们可以使用 bbox_to_anchor 参数和 loc 参数将图例放置在绘图外部。

示例

让我们看一个将图例放在绘图外部的示例程序。

程序

输出

Matplotlib.axes.Axes.legend() in Python

说明

在提供的示例中,bbox_to_anchor 参数已设置为 (1,0.5),这表示图例已放置在图形的右侧。您可以修改 bbox_to_anchor 的值来更改图例的位置。

结论

总之,Matplotlib 中的 `legend()` 函数是一个强大的工具,可以通过为图形中的各种元素提供标签来增强图形的可解释性。它广泛用于区分不同的数据系列,并且在存在多条线、标记或其他绘图元素时特别有用。该函数提供了一种方便的方式来包含图例,其默认位置对图形的干扰最小。此外,用户可以轻松自定义图例的位置、字体大小、边框外观和背景颜色,以满足特定的可视化需求。无论图例是放置在图形内部还是外部,`legend()` 函数都提供了灵活性和多功能性,从而有助于 Matplotlib 可视化的整体清晰度和沟通效果。