带图例的极坐标图

PythonPythonBeginner
立即练习

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

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

简介

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

虚拟机使用提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") matplotlib/PlotCustomizationGroup -.-> matplotlib/legend_config("Legend Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48874{{"带图例的极坐标图"}} matplotlib/figures_axes -.-> lab-48874{{"带图例的极坐标图"}} matplotlib/line_plots -.-> lab-48874{{"带图例的极坐标图"}} python/tuples -.-> lab-48874{{"带图例的极坐标图"}} matplotlib/legend_config -.-> lab-48874{{"带图例的极坐标图"}} python/importing_modules -.-> lab-48874{{"带图例的极坐标图"}} python/numerical_computing -.-> lab-48874{{"带图例的极坐标图"}} python/data_visualization -.-> lab-48874{{"带图例的极坐标图"}} end

导入库

第一步是导入必要的库。在本示例中,我们将使用 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 创建一个带有图例的极坐标图。你还学习了如何通过更改网格颜色和移动图例来自定义绘图。极坐标图在处理方向数据时很有用,而图例则有助于解释图上不同线条或标记的含义。