手动添加Python Matplotlib图例项

手动添加Python Matplotlib图例项

Matplotlib是一个绘图库,可以用Python进行数据可视化。在matplotlib中,图例用于标识每个数据系列的含义。默认情况下,matplotlib会在图例中自动添加每个图像的标签。但是,有时候需要手动添加图例项,以便更好地展示数据。

在这篇文章中,我们将探讨如何使用Python Matplotlib手动添加图例项。

导入Matplotlib并生成数据

让我们首先导入Matplotlib库,并使用numpy生成一些数据。下面是代码:

import numpy as np
from matplotlib import pyplot as plt

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

# 绘制数据
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')

在上面的代码中,我们首先导入了numpy和matplotlib库。然后,我们使用numpy的linspace()函数生成100个从0到10的均匀间隔数值,并应用两个函数,将其存储在y1y2中。在最后两行代码中,我们绘制了这两个函数并添加了标签。

如上图所示,我们已经成功地绘制了这两个函数。

添加图例项

接下来,我们将介绍如何手动添加图例项。我们将使用Matplotlib的legend()函数生成图例项。下面是代码:

# 添加图例项
plt.legend()

# 展示图像
plt.show()

legend()函数默认从绘制的线条自动生成图例项。在上面的代码中,我们只需调用legend()函数即可。

让我们运行这段代码,看看Matplotlib将如何自动生成图例。

如上图所示,Matplotlib已自动生成图例,将标签分别与每个数据系列对应。

但有时候我们需要添加其他标签。下面是代码:

# 添加图例项
plt.legend(['Sine', 'Cosine'])

# 展示图像
plt.show()

在上面的代码中,我们手动添加了两个标签:SineCosinelegend()函数接受一个标签列表作为输入。legend()函数将标签列表中的每个标签与相应的数据系列进行匹配,并生成图例。

让我们运行这段代码,看看Matplotlib将如何处理自定义标签。

如上图所示,我们已经成功地添加了自定义标签。

地址位置和展示方式

当我们手动添加图例项时,我们还可以选择图例的位置和展示方式。下面是代码:

# 添加图例项并将其放在顶部中心
plt.legend(['Sine', 'Cosine'], loc='upper center')

# 展示图像
plt.show()

在上面的代码中,我们指定了图例的位置为'upper center'loc参数可接受以下位置的输入值:

  • ‘best’:自动查找最佳位置
  • ‘upper right’:右上角
  • ‘upper left’:左上角
  • ‘lower left’:左下角
  • ‘lower right’:右下角
  • ‘right’:右侧中心
  • ‘center left’:左侧中心
  • ‘center right’:右侧中心
  • ‘center’:图像中心
  • ‘upper center’:顶部中心
  • ‘lower center’:底部中心

让我们运行这段代码,看看图例将如何放置在我们指定的位置。

如上图所示,我们已经成功地将图例项放置在顶部中心。

除了设置位置之外,我们还可以选择图例的展示方式。下面是代码:

# 添加图例项并将其放在顶部中心,并以4列方式展示图例
plt.legend(['Sine', 'Cosine'], loc='upper center', ncol=4)

# 展示图像
plt.show()

在上面的代码中,我们将ncol参数设置为4,这将使图例以4列的方式展示。

让我们运行这段代码,看看图例将如何在4列中展示。

如上图所示,我们已经成功地将图例展示在4列中。

自定义图例

有时候,我们需要自定义图例项,例如图例项背景颜色、字体大小和样式等。下面是代码:

# 导入自定义图例需要的库
from matplotlib.patches import Patch

# 自定义图例项
custom_legend = [
    Patch(facecolor='blue', label='Sine curve'),
    Patch(facecolor='orange', label='Cosine curve')
]

# 添加自定义图例项
plt.legend(handles=custom_legend)

# 展示图像
plt.show()

在上面的代码中,我们首先导入了Patch库,以便定义自定义图例项。然后,我们使用Patch函数自定义两个图例项,区分由蓝色曲线表示的Sine曲线和由橙色曲线表示的Cosine曲线。最后,我们使用handles参数将自定义图例项添加到图例中。

让我们运行这段代码,看看自定义的图例项将如何展示。

如上图所示,我们已经成功地添加了自定义图例项。

结论

在这篇文章中,我们学习了如何使用Python Matplotlib手动添加图例项。我们首先生成了一些数据,然后使用Matplotlib的legend()函数创建了自动和手动的图例。我们还讨论了如何调整图例的位置和展示方式,并展示了如何自定义图例项,以便更好地展示数据。希望这篇文章对你有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程