简介
在本实验中,你将学习如何在 Matplotlib 绘图中对齐 y 轴标签。y 轴标签的对齐对于提高绘图的可读性非常重要,特别是当有多个子图时。
虚拟机使用提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
导入所需库
第一步是导入所需的库。在本实验中,我们将使用 Matplotlib 和 NumPy。
import matplotlib.pyplot as plt
import numpy as np
创建绘图
下一步是创建绘图。我们将创建一个包含两个子图的绘图,其中 y 轴标签未对齐。
def make_plot(axs):
box = dict(facecolor='yellow', pad=5, alpha=0.2)
## Fixing random state for reproducibility
np.random.seed(19680801)
ax1 = axs[0, 0]
ax1.plot(2000*np.random.rand(10))
ax1.set_title('ylabels not aligned')
ax1.set_ylabel('misaligned 1', bbox=box)
ax1.set_ylim(0, 2000)
ax3 = axs[1, 0]
ax3.set_ylabel('misaligned 2', bbox=box)
ax3.plot(np.random.rand(10))
ax2 = axs[0, 1]
ax2.set_title('ylabels aligned')
ax2.plot(2000*np.random.rand(10))
ax2.set_ylabel('aligned 1', bbox=box)
ax2.set_ylim(0, 2000)
ax4 = axs[1, 1]
ax4.plot(np.random.rand(10))
ax4.set_ylabel('aligned 2', bbox=box)
fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
plt.show()
自动对齐 y 轴标签
第三步是使用.Figure.align_ylabels方法自动对齐 y 轴标签。
fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
fig.align_ylabels(axs[:, 1])
plt.show()
手动对齐 y 轴标签
第四步是使用 y 轴对象的~.Axis.set_label_coords方法手动对齐 y 轴标签。
fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
labex = -0.3 ## axes coords
for j in range(2):
axs[j, 1].yaxis.set_label_coords(labex, 0.5)
plt.show()
总结
在本实验中,你学习了如何在 Matplotlib 绘图中对齐 y 轴标签。y 轴标签的对齐对于提高绘图的可读性很重要,特别是当有多个子图时。我们介绍了两种对齐 y 轴标签的方法,一种是使用简短的.Figure.align_ylabels调用,另一种是手动对齐标签的方法。
结论
恭喜你!你已经学会了如何在 Matplotlib 绘图中对齐 y 轴标签。继续练习并探索 Matplotlib 库,以提高你的可视化技能。
总结
恭喜你!你已经完成了“对齐 y 轴标签”实验。你可以在 LabEx 中练习更多实验来提升你的技能。