কম্পিউটার

একটি tkinter ফ্রেমে একটি matplotlib অ্যানিমেশন এম্বেড করা


একটি 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()

আউটপুট

এটি নিম্নলিখিত আউটপুট তৈরি করবে -

একটি tkinter ফ্রেমে একটি matplotlib অ্যানিমেশন এম্বেড করা


  1. Matplotlib-এ কিংবদন্তি ফ্রেমের লাইন প্রস্থ নির্দিষ্ট করা

  2. কিভাবে Matplotlib একটি 2D হিস্টোগ্রাম প্লট?

  3. ম্যাটপ্লটলিব অ্যানিমেশন আইপিথন নোটবুকে কাজ করছে না?

  4. কিভাবে ফ্লাস্কে Matplotlib দেখাবেন?