python matplotlib 最后三个ax子图不显示图框
时间: 2023-07-22 10:01:12 浏览: 80
如果你使用 Matplotlib 创建了一个包含多个子图(axes)的图形,并且希望最后三个子图不显示图框,你可以使用 `spines` 属性来控制每个子图的边框。以下是一个示例代码,展示如何实现这个效果:
```python
import matplotlib.pyplot as plt
fig, axes = plt.subplots(4, 1, figsize=(6, 8))
# 在最后三个子图上隐藏边框
for ax in axes[-3:]:
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
# 在每个子图上绘制示例内容
for i, ax in enumerate(axes):
ax.plot([1, 2, 3], [1, 2, 3])
ax.set_title(f'Plot {i+1}')
plt.tight_layout()
plt.show()
```
在这个例子中,我们创建了一个包含四个子图的图形,并使用 `subplots()` 函数创建了 `fig` 和 `axes` 对象。然后,我们使用一个循环来遍历最后三个子图,并通过设置 `spines` 属性来隐藏它们的边框。最后,我们在每个子图上绘制了一些示例内容,并使用 `tight_layout()` 函数来自动调整子图的布局。最终,使用 `show()` 函数显示了图形。
这样做之后,最后三个子图的边框将被隐藏,只显示绘制的内容。
阅读全文