【发布时间】:2019-02-22 12:00:18
【问题描述】:
我有一个循环来加载和绘制一些数据,如下所示:
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()
现在,如果文件不存在,则不会加载或绘制数据,但仍会保存(空)图形。在上面的例子中,我可以通过在if 语句中包含所有plt 调用来纠正这个问题。我的实际用例涉及更多,因此我正在寻找一种方法来询问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()
【问题讨论】:
-
请注意,从来没有一个完全空的数字。所以你可能想更彻底地定义“空”。此外,您可能拥有的有关非空数字可能包含的任何信息可能会有所帮助,例如如果你知道例如如果一个图形被认为是“非空的”,它将在一个轴上包含一条线,或者两个图像或类似的,这将允许针对特定的那些进行测试。
标签: python python-3.x matplotlib figure