简介
本教程将向你展示如何使用 Matplotlib 库在特定位置创建自定义脊线。
虚拟机提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
本教程将向你展示如何使用 Matplotlib 库在特定位置创建自定义脊线。
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
首先,我们需要为本教程导入必要的库。我们将使用 Matplotlib 和 NumPy。
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits import axisartist
我们将使用 add_gridspec
方法创建一个包含两个子图的图形。
fig = plt.figure(figsize=(6, 3), layout="constrained")
gs = fig.add_gridspec(1, 2)
在第一个子图中,我们将使用 axisartist.Axes
创建一条穿过 y = 0 的新轴。我们还将使其他脊线不可见。
ax0 = fig.add_subplot(gs[0, 0], axes_class=axisartist.Axes)
ax0.axis["y=0"] = ax0.new_floating_axis(nth_coord=0, value=0, axis_direction="bottom")
ax0.axis["y=0"].toggle(all=True)
ax0.axis["y=0"].label.set_text("y = 0")
ax0.axis["bottom", "top", "right"].set_visible(False)
在第二个子图中,我们将使用 axisartist.axislines.AxesZero
自动创建 x 轴零点和 y 轴零点。我们将使其他脊线不可见,并将 x 轴零点设置为可见。
ax1 = fig.add_subplot(gs[0, 1], axes_class=axisartist.axislines.AxesZero)
ax1.axis["xzero"].set_visible(True)
ax1.axis["xzero"].label.set_text("Axis Zero")
ax1.axis["bottom", "top", "right"].set_visible(False)
既然我们已经创建了子图,那么我们可以使用 np.sin(x)
来绘制数据。
x = np.arange(0, 2*np.pi, 0.01)
ax0.plot(x, np.sin(x))
ax1.plot(x, np.sin(x))
最后,我们可以使用 plt.show()
来显示我们的图形。
plt.show()
在本教程中,我们学习了如何使用 Matplotlib 库在特定位置创建自定义脊线。我们创建了一个包含两个子图的图形,并使用 axisartist.Axes
和 axisartist.axislines.AxesZero
来创建我们的脊线。我们还使其他脊线不可见,并将 x 轴零点设置为可见。最后,我们绘制了数据并显示了图形。