使用预定义标签创建图例

PythonPythonBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在数据可视化中,图例是解释图表视觉元素的关键。它帮助观众理解数据以及视觉表示的含义。Matplotlib 是一个流行的用于创建数据可视化的 Python 库,包括带有图例的图表。在本教程中,我们将学习如何在 Matplotlib 中使用预定义标签创建图例。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

导入所需库

我们将首先导入所需的库,其中包括 Matplotlib 和 NumPy。我们使用 NumPy 为我们的图表生成一些虚拟数据。

import matplotlib.pyplot as plt
import numpy as np

生成数据

接下来,我们将生成一些虚拟数据用于我们的图表。我们将使用 NumPy 的 arange 函数创建两个数组 ab。然后,我们使用 exp 函数计算另外两个数组 cd,其中 ca 的指数,dc 的反向。

## 生成一些虚拟数据。
a = b = np.arange(0, 3,.02)
c = np.exp(a)
d = c[::-1]

创建图表

现在我们准备好创建图表了。我们将使用 Matplotlib 的 plot 函数在同一图表上绘制三条线,每条线都有一个预定义的标签。我们将使用 label 参数为每条线分配标签。

## 创建带有预定义标签的图表。
fig, ax = plt.subplots()
ax.plot(a, c, 'k--', label='Model length')
ax.plot(a, d, 'k:', label='Data length')
ax.plot(a, c + d, 'k', label='Total message length')

添加图例

要为我们的图表添加图例,我们使用 Matplotlib 的 legend 函数。我们传入 loc 参数来指定图例的位置,传入 shadow 参数为图例添加阴影效果。我们还使用 fontsize 参数来设置图例的字体大小。

legend = ax.legend(loc='upper center', shadow=True, fontsize='x-large')

设置图例样式

最后,我们可以设置图例的样式,使其在视觉上更具吸引力。我们使用 get_frame 函数获取图例的框架,然后使用 set_facecolor 函数设置框架的背景颜色。

## 为图例设置一个更好看的背景颜色。
legend.get_frame().set_facecolor('C0')

显示图表

现在我们可以使用 Matplotlib 的 show 函数来显示图表。

plt.show()

总结

在本教程中,我们学习了如何在 Matplotlib 中创建带有预定义标签的图例。我们使用 plot 函数在同一图表上绘制三条线,并使用 label 参数为每条线分配标签。然后,我们使用 legend 函数将图例添加到图表中,并设置图例的样式以使其在视觉上更具吸引力。通过遵循这些步骤,你可以在 Matplotlib 中为自己的图表创建图例。