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/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} matplotlib/figures_axes -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} python/booleans -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} matplotlib/line_plots -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} python/lists -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} python/tuples -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} python/importing_modules -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} python/using_packages -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} python/data_visualization -.-> lab-48675{{"Matplotlib 固定大小坐标轴"}} end

导入库

我们将首先导入必要的库。

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 对象,我们能够为绘图创建一致的坐标轴大小。