我试图找出一种在matplotlib中删除(动态)子图的方法.我看到他们有一个remove方法,但我得到了错误
NotImplementedError: cannot remove artist
Run Code Online (Sandbox Code Playgroud)
我很惊讶我无法在任何地方找到它.有谁知道如何做到这一点?
我有一个循环加载并绘制一些数据,如下所示:
import os
import numpy as np
import matplotlib.pyplot as plt
for filename in filenames:
plt.figure()
if os.path.exists(filename):
x, y = np.loadtxt(filename, unpack=True)
plt.plot(x, y)
plt.savefig(filename + '.png')
plt.close()
Run Code Online (Sandbox Code Playgroud)
现在,如果文件不存在,则不会加载或绘制数据,但仍会保存(空)图。在上面的例子中,我可以简单地通过plt在if语句中包含所有调用来纠正这个问题。我的实际用例涉及更多,所以我正在寻找一种方法来询问matplotlib/ plt/图形/轴 图形/轴是否完全为空。就像是
for filename in filenames:
plt.figure()
if os.path.exists(filename):
x, y = np.loadtxt(filename, unpack=True)
plt.plot(x, y)
if not plt.figure_empty(): # <-- new line
plt.savefig(filename + '.png')
plt.close()
Run Code Online (Sandbox Code Playgroud)