我在图fig1
中有许多子图,通过
ax = fig1.add_subplot(221)
然后我通过
在每个子图中绘制内容im=ax.plot(x,y)
并通过
添加一些轴标签ax.set_xlabel('xlabel')
我想完全清除一个特定的子图,如When to use cla(), clf() or close() for clearing a plot in matplotlib?中所述。但问题是ax.cla()
和ax.clear()
似乎只清除了绘图中的数据,而没有删除轴,轴刻度标签等。另一方面plt.clf()
清除整个图形。介于两者之间吗?类似clf的命令可以清除子图中的所有内容,包括轴标签?或者我只是以错误的方式使用命令?
答案 0 :(得分:9)
ax.clear()
清除轴。也就是说,它会从轴中删除所有设置和数据,这样就可以保留轴,就像刚刚创建的那样。
ax.axis("off")
关闭轴,使所有轴刺和蜱标签隐藏。
ax.set_visible(False)
使完整的轴不可见,包括其中的数据。
ax.remove()
从图中移除轴。
完整示例:
import matplotlib.pyplot as plt
fig,axes = plt.subplots(2,3)
for ax in axes.flat:
ax.plot([2,3,1])
axes[0,1].clear()
axes[1,0].axis("off")
axes[1,1].set_visible(False)
axes[0,2].remove()
plt.show()