克服空数组的ValueError

时间:2014-04-07 03:28:26

标签: python numpy matplotlib

this discussion中,twiny()弄乱了我的情节之后,我试图解决绘制y轴限制的问题。 我想这个:

ax.set_ylim([y.min()-0.05, y.max()+0.05])

是一个很好的解决方案。对于连续的数据集,可能就是这样。 正如我在讨论中所说的,无论如何,我的数据很嘈杂,有时还有差距。所以有些绘制的范围没有数据。在这种情况下,自然地,使用.min()会引发错误:

ValueError: zero-size array to reduction operation minimum which has no identity

因为数组是空的。如何解决它,以便代码不关心对y轴施加限制? (希望这是空数组将导致的唯一问题)

1 个答案:

答案 0 :(得分:23)

抓住异常并忽略它:

try:
    ax.set_ylim([y.min()-0.05, y.max()+0.05])
except ValueError:  #raised if `y` is empty.
    pass