Matplotlib subplot 中如何去除多余的图形
Matplotlib 在数据可视化方面拥有广泛的应用。其中最为基础的就是 subplot 功能,可以在一张图中绘制多组数据,方便比较不同数据之间的关系。但是在实际操作中,可能会出现多余的图形,影响图像的美观度和可读性。本次将介绍如何在 Matplotlib subplot 中去除多余的图形,并给出实例说明。
阅读更多:Matplotlib 教程
什么是多余的图形
在 matplotlib subplot 中,作图时会创建多个 Axes 实例,其中有些是空白的。
空白部分就是多余的图形,它们在图像上占据了不必要的空间,容易引起混淆,影响数据的呈现效果。去除多余的图形,可以使图像更加美观,减少视觉干扰,提高图像的可读性。
如何去除多余的图形
- 调整 subplot 布局
调整 subplot 布局是去除多余图形最为简单的方法。在 Matplotlib 中,可以使用 subplots_adjust() 函数来调整 subplot 的布局。具体操作代码如下:
import matplotlib.pyplot as plt
# 创建包含 4 个 subplot 的 figure 对象
fig, axs = plt.subplots(2, 2)
# 调整subplot之间的横向距离和纵向距离
fig.subplots_adjust(wspace=0.3, hspace=0.5)
# 显示图形
plt.show()
在上面的代码中,我们使用 plt.subplots(2,2) 创建了一个包含 4 个 subplot 的 figure 对象,然后使用 fig.subplots_adjust() 调整轴之间的横向和纵向间距,从而使得空白部分的大小尽量小。
运行以上代码,我们可以看到下面的图像,空白部分被大大缩小。
虽然这种方法可以减少多余图形的占位,但是对于极端情况下依然无能为力,无法彻底去除多余图形。因此,还需结合其他方法进行解决。
- 使用
plt.delaxes()删除不需要的 subplot
除了调整 subplot 布局,还可以使用 plt.delaxes() 函数,直接删除特定位置上的 subplot。该函数需要传入需要删除 Subplot 对象的实例,来实现删除机制。下面是一个示例代码:
import matplotlib.pyplot as plt
# 创建包含 4 个 subplot 的 figure 对象
fig, axs = plt.subplots(2, 2)
# 删除指定的 subplot
plt.delaxes(axs[1,1])
#显示图形
plt.show()
在上述代码中,我们仍然使用 plt.subplots(2,2) 创建 figure 对象,然后使用 plt.delaxes() 函数删除第二行第二列的 subplot。
我们可以看到,第二行第二列的 subplot 已经被成功删除,并且调整了 subplot 的位置和大小,使得空白部分减少到最小化。
- 使用
plt.tight_layout()函数
plt.tight_layout() 函数会自动调整 subplot 之间的间距和位置,从而尽量去除多余的图形。函数使用非常简单,只需要在绘图完成后使用即可。下面是一个示例代码:
import matplotlib.pyplot as plt
# 创建包含 4 个 subplot 的 figure 对象
fig, axs = plt.subplots(2, 2)
#绘制指定的subplot
axs[0, 0].plot([1, 2, 3],[4, 5, 6])
axs[0, 1].plot([1, 2, 3],[4, 5, 6])
axs[1, 0].plot([1, 2, 3],[4, 5, 6])
axs[1, 1].plot([1, 2, 3],[4, 5, 6])
# 自动调整 subplot 之间的间距和位置
plt.tight_layout()
# 显示图形
plt.show()
在上面的代码中,我们首先使用 plt.subplots(2,2) 创建了一个包含 4 个 subplot 的 figure 对象,然后使用 axs[][] 来绘制特定位置上的 subplot。最后使用 plt.tight_layout() 函数来自动调整 subplot 之间的位置和间距,从而去除多余图形。
可以看到,多余图形已经被自动消除,整张图像也变得更加紧凑。
总结
在 Matplotlib subplot 中去除多余图形可以有效提高图像的美观度和可读性。本文介绍了三种常用方法:调整 subplot 布局、使用 plt.delaxes 函数来删除特定位置上的 subplot 和使用 plt.tight_layout 函数。
在实际应用中,可以选用不同的方法或者组合使用,使得图像更加美观、清晰,同时具有一定的实用性。
极客笔记