删除子图

新手上路,请多包涵

我试图找出一种在 matplotlib 中删除(动态)子图的方法。我看到他们有一个 remove 方法,但我得到了错误

NotImplementedError: cannot remove artist

我很惊讶我在任何地方都找不到这个。有谁知道如何做到这一点?

 from matplotlib import pyplot as plt

fig, axs = plt.subplots(1,3)

axs[0].plot([1,2],[3,4])
axs[2].plot([0,1],[2,3])

plt.draw()
plt.tight_layout()

在此处输入图像描述

原文由 Jeff 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 768
2 个回答

使用 fig.delaxesplt.delaxes 删除不需要的子图

fig, axs = plt.subplots(1,3)
axs[0].plot([1,2],[3,4])
axs[2].plot([0,1],[2,3])

fig.delaxes(axs[1])

plt.draw()
plt.tight_layout()

在此处输入图像描述

原文由 Jeff 发布,翻译遵循 CC BY-SA 4.0 许可协议

ax.set_visible(False)

在大多数情况下就足够了。

原文由 naught101 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题