2014-04-07 10 views
7

In this discussion Ich habe versucht, ein Problem beim Zeichnen von Grenzen für die y-Achse zu beheben, nachdem die twiny() meine Handlung durcheinander bringt. Ich dachte, dies:Überwindung ValueError für leeres Array

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

war eine gute Lösung. Und wahrscheinlich ist es für den kontinuierlichen Datensatz. Wie ich in dieser Diskussion gesagt habe, sind meine Daten sowieso laut und manchmal mit Lücken. Es kommt also vor, dass einige geplottete Bereiche keine Daten haben. In diesem Fall ist die Verwendung der .min() wirft natürlich, den Fehler:

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

da das Array leer ist. Wie man es umgehen kann, so dass der Code einfach keine Grenzen auf der y-Achse setzt? (In der Hoffnung, dass dies das einzige Problem ist das leere Array verursachen)

Antwort

15

nur die Ausnahme abfangen und ignorieren:

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

Großer, so scheint es sehr gut zu funktionieren, danke! –

Verwandte Themen