अंतिम कार्य के अंत में मैं अपने कार्यक्रमों में से एक में कॉल करता हूं, मेरे पास एक साधारण रंग प्लॉट प्लॉट करने के लिए निम्न कोड है।plt.show() टर्मिनल लटका
plt.figure()
plt.pcolormesh(X,Y,Z)
plt.colorbar()
plt.show()
बाद में मैं मुख्य पर लौटता हूं और मेरा प्रोग्राम पूरा हो जाता है। साजिश अपेक्षित के रूप में प्रदर्शित होती है, हालांकि जब मैं कोने में (बटन) पर एक्स बटन का उपयोग करके इसे बंद करने के लिए जाता हूं, तो मेरा प्रोग्राम समाप्त नहीं होता है। यह सिर्फ एक प्रक्रिया चल रहा है के साथ लटका है। यह कैसे सही हो सकता है?
एक त्वरित और गंदे समाधान 'plt.draw उपयोग करने का प्रयास करने के लिए हो सकता है()' 'बजाय plt.show की()'। 'शो()' सभी इंटरैक्टिव टूल्स लोड करता है, जहां 'ड्रा()' एक साधारण दर्शक होना चाहिए जो आपके शेष कार्यक्रम के साथ अधिक अच्छी तरह से खेल सकता है। – jozzas
इसके अलावा, आप matplotlib का कौन सा संस्करण उपयोग कर रहे हैं? संस्करण 1.0.0 ने जो कुछ करना चाहते हैं उसके साथ इसे अधिक संगत बनाने के लिए 'शो()' में कुछ बदलाव किए हैं। [दस्तावेज़ देखें] (http://matplotlib.org/faq/howto_faq.html#use-show) अधिक जानकारी के लिए। – jozzas
क्या आप ipython, या कुछ अन्य matplotlib अनुकूल कंसोल का उपयोग कर रहे हैं जो GUI थ्रेड को सही तरीके से संभालता है? – DaveP