清除 Matplotlib 中的子图
Clearing a subplot in Matplotlib
我在图 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 的命令?还是我只是以错误的方式使用了这些命令?
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()
我在图 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 的命令?还是我只是以错误的方式使用了这些命令?
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()