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 matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) 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/DataStructuresGroup -.-> python/dictionaries("Dictionaries") 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-48816{{"Matplotlib 中的主刻度和次刻度"}} matplotlib/figures_axes -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} python/comments -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} matplotlib/line_plots -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} python/tuples -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} python/dictionaries -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} python/importing_modules -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} python/numerical_computing -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} python/data_visualization -.-> lab-48816{{"Matplotlib 中的主刻度和次刻度"}} end

导入必要的库并创建数据

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中使用主刻度和次刻度。我们学习了如何设置主刻度和次刻度的定位器与格式化器,以及如何自动选择次刻度的数量。我们还了解了如何设置刻度参数,即刻度的宽度、长度及其颜色。