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
from mpl_toolkits.axes_grid1 import Divider, Size

创建一个图形

接下来,我们将使用 plt.figure() 函数创建一个具有固定大小的图形。

fig = plt.figure(figsize=(6, 6))

定义坐标轴的大小

我们将使用 Size 类来定义坐标轴的大小。在这个例子中,我们将创建一个物理尺寸固定为 4.5 英寸乘 5 英寸的坐标轴。

h = [Size.Fixed(1.0), Size.Fixed(4.5)]
v = [Size.Fixed(0.7), Size.Fixed(5.)]

创建一个分隔器

我们将创建一个 Divider 对象,它会将图形分割成指定的大小。

divider = Divider(fig, (0, 0, 1, 1), h, v, aspect=False)

向图形中添加坐标轴

我们将使用 add_axes() 函数并传入 Divider 对象的位置,从而向图形中添加坐标轴。

ax = fig.add_axes(divider.get_position(),
                  axes_locator=divider.new_locator(nx=1, ny=1))

绘制数据

我们将使用 plot() 函数在坐标轴上绘制一些数据。

ax.plot([1, 2, 3])

显示绘图

最后,我们将使用 plt.show() 函数来显示绘图。

plt.show()

总结

在本实验中,我们学习了如何使用 Matplotlib 创建固定大小的坐标轴。通过定义坐标轴的大小并创建一个 Divider 对象,我们能够为绘图创建一致的坐标轴大小。