একটি tkinter ফ্রেমে একটি matplotlib অ্যানিমেশন এম্বেড করতে, আমরা নিম্নলিখিত পদক্ষেপগুলি নিতে পারি
পদক্ষেপ
-
চিত্রের আকার সেট করুন এবং সাবপ্লটগুলির মধ্যে এবং চারপাশে প্যাডিং সামঞ্জস্য করুন৷
-
টাকা-এর একটি টপলেভেল উইজেট তৈরি করুন যা বেশিরভাগই একটি অ্যাপ্লিকেশনের প্রধান উইন্ডোকে প্রতিনিধিত্ব করে
-
এই উইজেটের শিরোনাম সেট করুন।
-
বর্তমান চিত্রে একটি অক্ষ যোগ করুন এবং এটিকে বর্তমান অক্ষে পরিণত করুন।
-
একটি নতুন চিত্র তৈরি করুন বা একটি বিদ্যমান চিত্র সক্রিয় করুন৷
৷ -
একটি 'ax' যোগ করুন একটি সাবপ্লট ব্যবস্থার অংশ হিসাবে চিত্রে।
-
linewidth=2 দিয়ে একটি ডামি লাইন প্লট তৈরি করুন .
-
ক্যানভাস তৈরি করুন চিত্রটি রেন্ডার করে।
-
চিত্রের ক্যানভাস তৈরি করুন যার উপর কাজ করতে হবে।
-
একটি কীপ্রেস তৈরি করুন৷ ইভেন্ট tkinter শীত প্রস্থান.
-
একটি ফাংশনকে বারবার কল করে একটি অ্যানিমেশন তৈরি করুন *অ্যানিমেট* .
-
চিত্রটি প্রদর্শন করতে, দেখান() ব্যবহার করুন পদ্ধতি।
উদাহরণ
import tkinter from matplotlib.backends.backend_tkagg import ( FigureCanvasTkAgg, NavigationToolbar2Tk) from matplotlib.backend_bases import key_press_handler from matplotlib import pyplot as plt, animation import numpy as np plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True root = tkinter.Tk() root.wm_title("Embedding in Tk") plt.axes(xlim=(0, 2), ylim=(-2, 2)) fig = plt.Figure(dpi=100) ax = fig.add_subplot(xlim=(0, 2), ylim=(-1, 1)) line, = ax.plot([], [], lw=2) canvas = FigureCanvasTkAgg(fig, master=root) canvas.draw() toolbar = NavigationToolbar2Tk(canvas, root, pack_toolbar=False) toolbar.update() canvas.mpl_connect( "key_press_event", lambda event: print(f"you pressed {event.key}")) canvas.mpl_connect("key_press_event", key_press_handler) button = tkinter.Button(master=root, text="Quit", command=root.quit) button.pack(side=tkinter.BOTTOM) toolbar.pack(side=tkinter.BOTTOM, fill=tkinter.X) canvas.get_tk_widget().pack(side=tkinter.TOP, fill=tkinter.BOTH, expand=1) def init(): line.set_data([], []) return line, def animate(i): x = np.linspace(0, 2, 1000) y = np.sin(2 * np.pi * (x - 0.01 * i)) line.set_data(x, y) return line, anim = animation.FuncAnimation(fig, animate, init_func=init,frames=200, interval=20, blit=True) tkinter.mainloop()
আউটপুট
এটি নিম্নলিখিত আউটপুট তৈরি করবে -