带图例的极坐标图

Beginner

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

简介

在本实验中,你将学习如何使用 Python Matplotlib 创建带有图例的极坐标图。极坐标图用于在极坐标系中绘制数据,这在处理方向数据时非常有用。图例用于解释图上不同线条或标记的含义。

虚拟机使用提示

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

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

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

导入库

第一步是导入必要的库。在本示例中,我们将使用 numpymatplotlib

import matplotlib.pyplot as plt
import numpy as np

创建图形和子图

接下来,我们需要为我们的绘图创建一个图形和子图。我们将使用 add_subplotprojection 参数来创建一个极坐标图。

fig = plt.figure()
ax = fig.add_subplot(projection="polar", facecolor="lightgoldenrodyellow")

创建数据

我们需要创建一些数据以便在极坐标图上进行绘制。在本示例中,我们将创建两条线。

r = np.linspace(0, 3, 301)
theta = 2 * np.pi * r

绘制数据

现在我们可以使用 plot 函数来绘制数据了。我们将使用在步骤 3 中创建的数据创建两条线。

ax.plot(theta, r, color="tab:orange", lw=3, label="a line")
ax.plot(0.5 * theta, r, color="tab:blue", ls="--", lw=3, label="another line")

自定义绘图

我们可以通过更改网格颜色和添加图例来自定义绘图。在本示例中,我们将把图例稍微移离绘图中心以避免重叠。

ax.tick_params(grid_color="palegoldenrod")
angle = np.deg2rad(67.5)
ax.legend(loc="lower left",
          bbox_to_anchor=(.5 + np.cos(angle)/2,.5 + np.sin(angle)/2))

显示绘图

最后,我们可以使用 show 函数来显示我们的绘图。

plt.show()

总结

在本实验中,你学习了如何使用 Python 的 Matplotlib 创建一个带有图例的极坐标图。你还学习了如何通过更改网格颜色和移动图例来自定义绘图。极坐标图在处理方向数据时很有用,而图例则有助于解释图上不同线条或标记的含义。