Overcome ValueError for empty array

Question:

In this discussion I tried to fix an issue in plotting limits for y-axis, after the twiny() messes up my plot.

I thought this:

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

was a good solution. And probably it is, for continuous set of data.
As I said in that discussion, anyway, my data are noisy, and sometimes with gaps. So it happens that some plotted ranges have no data. In that case, naturally, the use of the .min() raises the error:

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

because the array is empty. How to work around it, so that the code just does not care about putting limits on the y-axis? (Hoping that this is the only issue the empty array will cause)

Asked By: Py-ser

||

Answers:

Just catch the exception and ignore it:

try:
    ax.set_ylim([y.min()-0.05, y.max()+0.05])
except ValueError:  #raised if `y` is empty.
    pass
Answered By: mgilson
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.