का उपयोग करते हुए आकृति अद्यतन नहीं कर रहा है matplotlib, pylab, pyplot, ipython के बारे में बहुत सारे प्रश्न हैं, इसलिए मुझे खेद है कि अगर आप यह पूछने में बीमार हैं तो मुझे खेद है। मैं जितना संभव हो उतना विशिष्ट होने की कोशिश करूंगा, क्योंकि मैं लोगों के प्रश्नों को देख रहा हूं और पाइपलॉट और पिलैब के लिए प्रलेखन देख रहा हूं, और मुझे अभी भी यकीन नहीं है कि मैं क्या गलत कर रहा हूं। कोड के साथ:matplotlib.pyplot/pylab isinteractive(), ipython -pylab
लक्ष्य: प्रत्येक 5 सेकंड में एक आकृति प्लॉट करें, और प्लॉट कमांड कहलाए जाने पर आकृति को अपडेट करें।
इस कोडिंग पर मेरे प्रयास इस प्रकार है (IPython -pylab पर चल रहा है):
import time
ion()
x=linspace(-1,1,51)
plot(sin(x))
for i in range(10):
plot([sin(i+j) for j in x])
#see **
print i
time.sleep(1)
print 'Done'
यह सही ढंग से प्रत्येक पंक्ति भूखंडों, लेकिन नहीं है जब तक यह पाश के लिए बाहर निकल गया है। मैंने draw()
डालकर एक रेड्रो को मजबूर करने का प्रयास किया है, जहां **
है, लेकिन ऐसा लगता है कि यह भी काम नहीं करता है। आदर्श रूप से, मैं इसे पूर्ण रेड्रा करने की बजाय, प्रत्येक पंक्ति को बस जोड़ना चाहता हूं। यदि पुनर्वितरण की आवश्यकता है, तो यह ठीक है।
हल करने के अतिरिक्त प्रयास: ion()
के ठीक बाद, hold(True)
को कोई फायदा नहीं हुआ।
किक के लिए के लिए **
निकटतम जवाब मैं मैं क्या plotting lines without blocking execution पर था ऐसा करने के लिए कोशिश कर रहा हूँ करने के लिए मिल गया है show()
कोशिश की, लेकिन show()
कुछ नहीं कर रहा है।
अगर यह एक सीधा अनुरोध है, तो मैं क्षमा चाहता हूं, और मैं कुछ स्पष्ट दिख रहा हूं। इसके लायक होने के लिए, यह तब आया जब मैं अपने स्वयं के उपयोग के लिए कक्षा से मैटलैब कोड को कुछ पायथन में परिवर्तित करने की कोशिश कर रहा था। मूल matlab (initializations निकाला गया) जो मैं कन्वर्ट करने के लिए कोशिश कर रहे हैं इस प्रकार है:
for i=1:time
plot(u)
hold on
pause(.01)
for j=2:n-1
v(j)=u(j)-2*u(j-1)
end
v(1)= pi
u=v
end
किसी भी मदद की, भले ही वह बस "देखो this_method" उत्कृष्ट होगा, इसलिए मैं कम से कम पता लगाना करने के लिए अपने प्रयासों को कम कर सकते हैं उस विधि का उपयोग कैसे करें। यदि कोई और जानकारी है जो उपयोगी होगी, तो मुझे बताएं।
[आपको 'time.sleep' की बजाय' pyplot.pause' का उपयोग करना चाहिए।] (Http://stackoverflow.com/questions/12822762/pylab-ion-in-python-2-matplotlib-1-1- 1-और-अपडेट-ऑफ-द-प्लॉट-जबकि-द-प्रो) –
मुझे विंडोज़ पर QT4Agg बैकएंड का उपयोग करने में एक ही समस्या थी, मुझे विश्वास है कि यह इस [github issue] से संबंधित है (https://github.com/matplotlib/matplotlib/मुद्दों/1646), pyplot.pause() का उपयोग करके इसे ठीक किया गया। – seumas