Matplotlib 子图创建教程

PythonPythonBeginner
立即练习

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

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

简介

在数据可视化中,通常需要在一个图形中绘制多个图表。Matplotlib 允许我们使用子图来实现这一点。在本实验中,我们将学习如何在 Matplotlib 中创建子图。

虚拟机使用提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) 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") python/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48966{{"Matplotlib 子图创建教程"}} matplotlib/figures_axes -.-> lab-48966{{"Matplotlib 子图创建教程"}} python/comments -.-> lab-48966{{"Matplotlib 子图创建教程"}} matplotlib/line_plots -.-> lab-48966{{"Matplotlib 子图创建教程"}} python/tuples -.-> lab-48966{{"Matplotlib 子图创建教程"}} python/importing_modules -.-> lab-48966{{"Matplotlib 子图创建教程"}} python/standard_libraries -.-> lab-48966{{"Matplotlib 子图创建教程"}} python/numerical_computing -.-> lab-48966{{"Matplotlib 子图创建教程"}} python/data_visualization -.-> lab-48966{{"Matplotlib 子图创建教程"}} end

导入库

首先,我们需要导入所需的库。我们将使用 Matplotlib 和 NumPy。NumPy 用于生成一些示例数据。

import matplotlib.pyplot as plt
import numpy as np

生成一些示例数据

我们将生成一些用于绘制图表的示例数据。

## 创建一些虚拟数据。
x1 = np.linspace(0.0, 5.0)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
x2 = np.linspace(0.0, 2.0)
y2 = np.cos(2 * np.pi * x2)

使用 subplots() 创建子图

我们将使用 subplots() 函数创建子图。我们将创建两个子图,一个在另一个之上。

## 创建子图
fig, (ax1, ax2) = plt.subplots(2, 1)

设置标题和轴标签

我们将为子图设置标题和轴标签。

## 设置标题和轴标签
fig.suptitle('A tale of 2 subplots')

ax1.set_ylabel('Damped oscillation')
ax2.set_xlabel('time (s)')
ax2.set_ylabel('Undamped')

在子图上绘制数据

现在我们将在子图上绘制数据。

## 在子图上绘制数据
ax1.plot(x1, y1, 'o-')
ax2.plot(x2, y2, '.-')

显示图表

最后,我们将使用 plt.show() 来显示图表。

## 显示图表
plt.show()

总结

在这个实验中,我们学习了如何在Matplotlib中创建子图。我们使用 subplots() 函数来创建子图,并设置标题、轴标签以及在子图上绘制数据。通过使用子图,我们可以在一个图形中显示多个图表,这对于数据可视化很有用。