Matplotlib 中的主刻度和次刻度

Beginner

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

简介

在 Matplotlib 绘图中,刻度用于标记轴上数据点的位置。主刻度是表示数据点值的较大刻度,次刻度是位于主刻度之间的较小刻度。本教程展示了如何在 Matplotlib 中使用主刻度和次刻度。

虚拟机使用提示

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

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

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

导入必要的库并创建数据

import matplotlib.pyplot as plt
import numpy as np

## 创建数据
t = np.arange(0.0, 100.0, 0.1)
s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)

首先,我们导入必要的库,即 Matplotlib 和 NumPy。然后我们创建要绘制的数据。在这个例子中,我们创建一个 numpy 数组“t”,并使用 t 计算另一个 numpy 数组“s”。

绘制数据

fig, ax = plt.subplots()
ax.plot(t, s)

接下来,我们创建一个图形和轴对象,并在轴上绘制数据。

设置主刻度定位器和次刻度定位器

## 设置主刻度定位器
ax.xaxis.set_major_locator(MultipleLocator(20))
## 设置主刻度格式化器
ax.xaxis.set_major_formatter('{x:.0f}')
## 设置次刻度定位器
ax.xaxis.set_minor_locator(MultipleLocator(5))

在这里,我们将主刻度定位器设置为以 20 的倍数放置刻度,将主刻度格式化器设置为使用".0f"格式标注主刻度,并将次刻度定位器设置为以 5 的倍数放置刻度。

显示绘图

plt.show()

最后,我们显示绘图。

主刻度和次刻度的自动刻度选择

## 创建数据
t = np.arange(0.0, 100.0, 0.01)
s = np.sin(2 * np.pi * t) * np.exp(-t * 0.01)

## 绘制数据
fig, ax = plt.subplots()
ax.plot(t, s)

## 设置次刻度定位器
ax.xaxis.set_minor_locator(AutoMinorLocator())

## 设置刻度参数
ax.tick_params(which='both', width=2)
ax.tick_params(which='major', length=7)
ax.tick_params(which='minor', length=4, color='r')

## 显示绘图
plt.show()

在这一步中,我们创建新数据并进行绘制。然后我们设置次刻度定位器以自动选择次刻度的数量。之后,我们设置主刻度和次刻度的刻度参数,即刻度的宽度、长度及其颜色。最后,我们显示绘图。

总结

本教程展示了如何在 Matplotlib 中使用主刻度和次刻度。我们学习了如何设置主刻度和次刻度的定位器与格式化器,以及如何自动选择次刻度的数量。我们还了解了如何设置刻度参数,即刻度的宽度、长度及其颜色。