2014-04-07 5 views
7

this discussion में मैंने twiny() के बाद मेरी साजिश को गड़बड़ करने के बाद वाई-अक्ष के लिए सीमाओं की साजिश में कोई समस्या ठीक करने का प्रयास किया। मैं इस बारे में सोचा:खाली सरणी के लिए ValueError को खत्म करें

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

एक अच्छा समाधान था। और शायद यह डेटा के निरंतर सेट के लिए है। जैसा कि मैंने उस चर्चा में कहा था, वैसे भी, मेरा डेटा शोर है, और कभी-कभी अंतराल के साथ। तो ऐसा होता है कि कुछ प्लॉट श्रेणियों में कोई डेटा नहीं होता है। उस मामले में, स्वाभाविक .min() का उपयोग त्रुटि को जन्म देती है:

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

क्योंकि सरणी खाली है। इसे कैसे कामयाब किया जाए, ताकि कोड वाई-अक्ष पर सीमा डालने की परवाह न करे? (उम्मीद है कि यह केवल मुद्दा है खाली सरणी का कारण होगा)

उत्तर

15

बस अपवाद को पकड़ने और इसे अनदेखा:

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

बढ़िया है, यह बहुत अच्छी तरह से काम करने लगता है, धन्यवाद! –

संबंधित मुद्दे