克服空数组的ValueError

Py-*_*ser 15 python numpy matplotlib

在这个讨论中,我试图解决在绘制twiny()我的情节之后绘制y轴限制的问题.我想这个:

ax.set_ylim([y.min()-0.05, y.max()+0.05])
Run Code Online (Sandbox Code Playgroud)

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

ValueError: zero-size array to reduction operation minimum which has no identity
Run Code Online (Sandbox Code Playgroud)

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

mgi*_*son 27

抓住异常并忽略它:

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

  • 太好了,看起来效果很好,谢谢! (2认同)