2012-04-30 18 views
14

जब भी मैं matplotlib में show() पर कॉल करता हूं तो प्लॉट विंडो अन्य सभी विंडोज़ के पीछे दिखाई देती है और मुझे इसे देखने के लिए सबकुछ कम करना होगा। क्या कोई तरीका है कि मैं इसे रोक सकता हूं या प्रोग्रामेटिक रूप से इसे सामने ला सकता हूं। ओएसएक्स शेर पर। अजगर 2.7Matplotlib खिड़की पीठ पर दिखाई देता है?

उत्तर

1

आपके प्रश्न का बिल्कुल जवाब नहीं है, लेकिन मैं डिफ़ॉल्ट पायथन कंसोल के बजाय ipython का उपयोग कर रहा हूं। इसे ipython --pylab के साथ लॉन्च करते समय मैं प्लॉट कर सकता हूं उदा। टाइप करके

>> plot([1,3,2]) 

और प्लॉट सामने आ गया है। इसमें कुछ अन्य बहुत अच्छी विशेषताएं भी हैं;)

+1

इसलिए यह जरूरी हर मामले में एक समाधान नहीं है मैं दोनों अजगर और मेरे 10.9.1 सिस्टम पर IPython के साथ समान व्यवहार का सामना कर रहा हूँ। – anddam

+0

वही यहाँ। मेरा मानना ​​है कि एंड्रैम एक ही समस्या का सामना कर रहा है, जो कि मैटलप्लिब विंडो सभी अन्य विंडोज़ के पीछे _ स्थायी रूप से _ है। मिशन नियंत्रण में उस पर क्लिक करते समय भी मैं इसे फोकस में नहीं ला सकता हूं। मैंने अभी तक एकमात्र कामकाज का पता लगाया है कि मिशन नियंत्रण का उपयोग अस्थायी रूप से खिड़की को खाली स्थान_ में छोड़ने के लिए करना है, फिर उस स्थान पर स्विच करें, विंडो को फोकस में रखें, और उसके बाद विंडो _back को मेरी मूल स्पेस_ पर खींचें, जहां जेड-ऑर्डर अंततः सही होगा (जब तक कि मैं किसी अन्य विंडो पर क्लिक नहीं करता, जिसके कारण यह तुरंत वापस लौट जाता है)। –

+1

** अद्यतन: ** TkAgg बैकएंड में एक ही समस्या नहीं है; इसे एक शीर्ष-स्तरीय विंडो दी जाती है (यानी आप सीएमडी-टैब का उपयोग करके इसे स्विच कर सकते हैं)। यह अभी भी जेड-ऑर्डर के नीचे शुरू होता है, लेकिन यह सामान्य रूप से व्यवहार करता है। मुझे लगता है कि मैवरिक्स में मैकॉक्स बैकएंड में एक बग होना चाहिए। –

0

यह ओएस विशिष्ट है, लेकिन इंटरैक्टिव अंकन (जो जैसे ही आप हिदायत के रूप में भूखंडों) का उपयोग किया जा सकता है का कारण बनता है आंकड़े जैसे ही अग्रभूमि में आने के लिए के रूप में वे Ubuntu पर बना रहे हैं:

import pylab as P 
P.ion() 
P.figure(1) 
P.plot([1,2,3],[1,4,9]) 
1

मैटलप्लिब डेवलपर को इस मुद्दे से अवगत होना प्रतीत होता है। लेकिन https://github.com/matplotlib/matplotlib/issues/596 में देखकर ऐसा लगता है कि यह समाधान होने तक थोड़ी देर के लिए जा रहा है, जाहिर है क्योंकि कुछ लोगों को यह आंकड़ा परेशान लगता है। शो() "स्टील्स" स्क्रीन स्पेस।

0

मेरे पास निकोपलाइन के समान सेट-अप है। मेरे लिए क्या काम करता है:

from pylab import get_current_fig_manager() 
get_current_fig_manager().window.raise_() 

यदि आपके पास एकाधिक आंकड़े हैं, तो यह केवल वर्तमान में सक्रिय है। उस मामले के लिए, मैंने पाया कि निम्न काम करता है:

fig1=figure(1) 
cfm1=get_current_fig_manager().window 

fig2=figure(2) 
cfm2=get_current_fig_manager().window 
... 
cfm1.activateWindow() 
cfm1._raise() 
pause(.1) # or something else that uses up some time 
cfm2.activateWindow() 
cfm2.raise_() 
+1

आयात लाइन एक पिछला '()' है, चित्रामेनगर में और भी खिड़की की संपत्ति नहीं है – anddam

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