Matplotlib 无限线条可视化

Beginner

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

简介

Matplotlib 是一个用于创建数据分析可视化的 Python 库。在本教程中,我们将学习如何使用 axvlineaxhlineaxline 在 Matplotlib 中绘制无限长的线。

虚拟机使用提示

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

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

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

绘制垂直线和水平线

我们可以分别使用 axvlineaxhline 来绘制垂直线和水平线。让我们在 y=0y=0.5y=1.0 处绘制三条水平线。

import matplotlib.pyplot as plt
import numpy as np

## 生成数据
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## 绘制水平线
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## 绘制 Sigmoid 函数
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

绘制垂直线

我们可以使用 axvline 在给定的 x 位置绘制一条垂直线。让我们在 x = 0 处绘制一条垂直线。

import matplotlib.pyplot as plt
import numpy as np

## 生成数据
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## 绘制水平线
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## 绘制垂直线
plt.axvline(color="grey")

## 绘制 Sigmoid 函数
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

绘制任意直线

我们可以使用 axline 绘制任意方向的直线。让我们绘制一条斜率为 0.25 且经过点 (0, 0.5) 的直线。

import matplotlib.pyplot as plt
import numpy as np

## 生成数据
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## 绘制水平线
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## 绘制垂直线
plt.axvline(color="grey")

## 绘制任意直线
plt.axline((0, 0.5), slope=0.25, color="black", linestyle=(0, (5, 5)))

## 绘制 Sigmoid 函数
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

绘制对角线

我们可以使用带有 transform 参数的 axline 来绘制具有固定斜率的对角线。让我们绘制斜率固定为 0.5 的对角网格线。

import matplotlib.pyplot as plt
import numpy as np

## 绘制对角线
for pos in np.linspace(-2, 1, 10):
    plt.axline((pos, 0), slope=0.5, color='k', transform=plt.gca().transAxes)

plt.ylim([0, 1])
plt.xlim([0, 1])
plt.show()

总结

在本教程中,我们学习了如何使用 axvlineaxhlineaxline 在 Matplotlib 中绘制无限延伸的线条。我们学习了如何绘制垂直线、水平线、任意直线以及具有固定斜率的对角线。这些函数对于标记特殊数据值或绘制网格线以辅助数据分析很有用。