আমি গত কয়েকদিন ধরে নম্পি এবং ম্যাটপ্ল্লিটিবের সাথে খেলছি। এক্সপ্লোরেশন অবরুদ্ধ না করে ম্যাটপ্ল্লোলিব প্লটটিকে একটি ক্রিয়াকলাপ করার চেষ্টা করতে আমার সমস্যা হচ্ছে। আমি জানি যে ইতিমধ্যে একই ধরণের প্রশ্ন জিজ্ঞাসা করে এখানে অনেকগুলি থ্রেড রয়েছে এবং আমি বেশ কিছুটা গুগল করেছি তবে এই কাজটি পরিচালনা করতে সক্ষম হইনি।
কিছু লোকের পরামর্শ মতো আমি শো (ব্লক = মিথ্যা) ব্যবহার করার চেষ্টা করেছি, তবে আমি যা পাই তা হিমায়িত উইন্ডো। আমি যদি সহজভাবে শো () কল করি তবে ফলাফলটি যথাযথভাবে প্লট করা হয়েছে তবে উইন্ডোটি বন্ধ না হওয়া পর্যন্ত মৃত্যুদন্ড কার্যকর করা হবে। অন্যান্য থ্রেড থেকে আমি পড়েছি, আমি সন্দেহ করি যে শো (ব্লক = মিথ্যা) কাজ করে কিনা বা ব্যাকএন্ডের উপর নির্ভর করে। এটা কি সঠিক? আমার পিছনের প্রান্তটি Qt4Agg। আপনি কি আমার কোডটি একবার দেখতে পারেন এবং কিছু ভুল দেখলে আমাকে বলতে পারেন? এখানে আমার কোড। কোন সাহায্যের জন্য ধন্যবাদ।
from math import *
from matplotlib import pyplot as plt
print plt.get_backend()
def main():
x = range(-50, 51, 1)
for pow in range(1,5): # plot x^1, x^2, ..., x^4
y = [Xi**pow for Xi in x]
print y
plt.plot(x, y)
plt.draw()
#plt.show() #this plots correctly, but blocks execution.
plt.show(block=False) #this creates an empty frozen window.
_ = raw_input("Press [enter] to continue.")
if __name__ == '__main__':
main()
পুনশ্চ. আমি এটি বলতে ভুলে গেছি যে আমি যখন নতুন কোনও তৈরি করার পরিবর্তে প্রতিবার নতুন কিছু তৈরি করার সময় বিদ্যমান উইন্ডোটি আপডেট করতে চাই।
matplotlib
।
plt.ion()
আগে ম্যাটপ্ললটিব ইন্টারেক্টিভ মোড চেষ্টা করেছেনplt.show()
? এটি তখন অবরুদ্ধ হওয়া উচিত কারণ প্রতিটি প্লট একটি শিশু থ্রেডে তৈরি হয়।