📜  Matplotlib – 轴类(1)

📅  最后修改于: 2023-12-03 15:02:54.164000             🧑  作者: Mango

Matplotlib - 轴类

Matplotlib是一个用于创建静态、动态和交互式可视化的Python库。Matplotlib的轴类允许我们控制图表的轴和标签,并为其添加自定义的格式。

导入Matplotlib

在使用Matplotlib的轴类之前,我们需要先导入Matplotlib库并调用其pyplot子库。以下是在Python中导入Matplotlib的示例代码:

import matplotlib.pyplot as plt
创建轴

使用Matplotlib,我们可以创建轴对象并进行自定义设置。一般来说,每个图都有两个轴:水平轴(x轴)和垂直轴(y轴)。我们可以使用plt.subplots()函数创建一个轴对象,该函数可以控制子图的行数和列数。

下面的示例代码演示如何创建具有两行和一列的子图:

fig, axs = plt.subplots(2, 1)

在这个例子中,我们创建了一个名为fig的图形对象和一个由两个名为axs的轴对象数组组成的元组。轴对象被存储在axs变量中,它是一个numpy数组。

配置轴

在轴对象创建之后,我们可以使用多种方法来进行自定义设置:

轴范围

轴的范围决定了在坐标轴上绘制的数据的区域。可以使用ax.set_xlim()ax.set_ylim()方法来设置xy轴的范围。

axs[0].set_xlim(0, 10)
axs[0].set_ylim(-1, 1)

这段代码将一行图的x轴范围设置为0到10,y轴范围设置为-1到1。

轴标签和标题

我们可以使用ax.set_xlabel()ax.set_ylabel()ax.set_title()方法来设置轴和图表的标签和标题,示例如下:

axs[0].set_xlabel('Time')
axs[0].set_ylabel('Value')
axs[0].set_title('Sample Graph')
刻度标签

刻度标签是刻度线上的数字或文本,用于标记图表上的数据点。我们可以使用ax.set_xticks()ax.set_yticks()方法来设置坐标轴的刻度标签,示例如下:

axs[0].set_xticks([0, 2, 4, 6, 8, 10])
axs[0].set_yticks([-1, 0, 1])

这段代码将x轴刻度标签设置为0、2、4、6、8和10,将y轴刻度标签设置为-1、0和1。

刻度标签格式

我们可以使用ax.tick_params()ax.set_major_formatter()方法来设置刻度标签的格式。

axs[0].tick_params(axis='both', labelsize=12, direction='inout')
axs[0].xaxis.set_major_formatter(FormatStrFormatter('%.2f'))

这段代码将刻度标签的字体大小设置为12,并将刻度线设置为内部和外部都有。在x轴上使用FormatStrFormatter()将小数格式化为两位数。

网格线

我们可以使用ax.grid()方法来在图表上添加网格线:

axs[0].grid(True)

这段代码在图表上添加了网格线。

总结

在本文中,我们讨论了如何使用Matplotlib轴类来控制图表的轴和标签,并对其进行自定义格式。在轴对象创建之后,我们可以使用一系列方法来进行轴的自定义设置,包括轴范围、轴标签和标题、刻度标签、刻度标签格式和网格线等。