2014-04-07 14 views
7

Trong this discussion Tôi đã cố khắc phục vấn đề trong việc vẽ giới hạn cho trục y, sau khi số twiny() làm rối loạn cốt truyện của tôi. Tôi nghĩ rằng điều này:Khắc phục ValueError cho mảng trống

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

là một giải pháp tốt. Và có lẽ nó là, cho tập hợp dữ liệu liên tục. Như tôi đã nói trong cuộc thảo luận đó, dù sao, dữ liệu của tôi ồn ào, và đôi khi với những khoảng trống. Vì vậy, nó xảy ra rằng một số phạm vi được vẽ không có dữ liệu. Trong trường hợp đó, một cách tự nhiên, việc sử dụng các .min() làm tăng lỗi:

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

vì mảng trống. Làm thế nào để giải quyết nó, để mã chỉ không quan tâm đến việc đặt giới hạn trên trục y? (Hy vọng rằng đây là vấn đề duy nhất mảng rỗng sẽ gây ra)

Trả lời

15

Chỉ cần nắm bắt những ngoại lệ và bỏ qua nó:

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

Tuyệt vời, nó có vẻ làm việc rất tốt, cảm ơn! –

Các vấn đề liên quan