简介
在数据可视化中,图例是解释图表视觉元素的关键。它帮助观众理解数据以及视觉表示的含义。Matplotlib 是一个流行的用于创建数据可视化的 Python 库,包括带有图例的图表。在本教程中,我们将学习如何在 Matplotlib 中使用预定义标签创建图例。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入所需库
我们将首先导入所需的库,其中包括 Matplotlib 和 NumPy。我们使用 NumPy 为我们的图表生成一些虚拟数据。
import matplotlib.pyplot as plt
import numpy as np
生成数据
接下来,我们将生成一些虚拟数据用于我们的图表。我们将使用 NumPy 的 arange 函数创建两个数组 a 和 b。然后,我们使用 exp 函数计算另外两个数组 c 和 d,其中 c 是 a 的指数,d 是 c 的反向。
## 生成一些虚拟数据。
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 中为自己的图表创建图例。