简介
在本教程中,我们将学习如何使用 Python 中的 Matplotlib 库创建横跨水平或垂直轴的线条和矩形,以及创建具有任意方向且横跨轴的线条。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签页,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入库
首先,我们需要导入所需的库,即 Matplotlib 和 NumPy。NumPy 用于生成数据。
import matplotlib.pyplot as plt
import numpy as np
生成数据
我们将使用 NumPy 生成用于绘制图表的数据。
t = np.arange(-1, 2,.01)
s = np.sin(2 * np.pi * t)
创建图形和坐标轴
我们需要创建一个图形和坐标轴对象来绘制图表。
fig, ax = plt.subplots()
绘制数据
使用 plot() 函数绘制数据。
ax.plot(t, s)
添加水平线
使用 axhline() 函数添加水平线。
## 在 y=0 处绘制一条跨越 x 范围的粗红线。
ax.axhline(linewidth=8, color='#d62728')
## 在 y=1 处绘制一条跨越 x 范围的水平线。
ax.axhline(y=1)
添加垂直线
使用 axvline() 函数添加垂直线。
## 在 x = 1 处绘制一条跨越 y 范围的垂直线。
ax.axvline(x=1)
## 在 x = 0 处绘制一条跨越 y 范围上半部分的粗蓝线。
ax.axvline(x=0, ymin=0.75, linewidth=8, color='#1f77b4')
添加无限延伸的直线
使用 axline() 函数添加一条从 (0, 0) 到 (1, 1) 的无限延伸的直线。
## 从 (0, 0) 到 (1, 1) 的无限延伸的黑色直线。
ax.axline((0, 0), (1, 1), color='k')
添加矩形
使用 axhspan() 和 axvspan() 函数添加一个矩形。
## 一个 50% 灰度的矩形,从 y = 0.25 到 y = 0.75 跨越坐标轴的宽度。
ax.axhspan(0.25, 0.75, facecolor='0.5')
## 一个绿色矩形,从 x = 1.25 到 x = 1.55 跨越坐标轴的高度。
ax.axvspan(1.25, 1.55, facecolor='#2ca02c')
显示绘图
最后,使用 show() 函数显示绘图。
plt.show()
总结
在本教程中,我们学习了如何使用 Python 中的 Matplotlib 库创建在水平或垂直方向上跨越坐标轴的直线和矩形,以及如何创建具有任意方向且跨越坐标轴的直线。我们还学习了如何导入所需的库、生成数据、创建图形和坐标轴、绘制数据,以及向图形中添加水平和垂直线、无限延伸的直线和矩形。