পাইথন Matplotlib লাইব্রেরি সেই অ্যাপ্লিকেশনগুলোর জন্য উপকারী যেখানে আমাদের ডেটা পয়েন্ট ভিজ্যুয়ালাইজ করতে হয় এবং ডেটা বিশ্লেষণ করতে গ্রাফ এবং প্লট আঁকতে হয়। ধরুন আমরা একটি Tkinter অ্যাপ্লিকেশন তৈরি করতে চাই যেখানে আমরা LaTeX সিনট্যাক্স প্রসেস করতে পারব।
LaTeX সিনট্যাক্স বৈজ্ঞানিক ডকুমেন্টেশন প্রস্তুত করার জন্য ব্যবহৃত হয় যেমন— সূত্র, বৈজ্ঞানিক নোটেশন, গাণিতিক ক্যারেক্টার এবং puntuations। অ্যাপ্লিকেশন প্রস্তুত করতে, আমাদের matplotlib এবং TkAgg (Tkinter-এ Matplotlib-এর জন্য ব্যাকএন্ড API) মডিউল ব্যবহার করতে হবে। অ্যাপ্লিকেশন ফাংশন এবং উইজেট স্ট্রাকচার করতে নিচের ধাপগুলো ব্যবহৃত হয়:
- Matplotlib, Tkinter, Ttk (উইজেট স্টাইল করার জন্য), TkAgg ইত্যাদি প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন।
- একটি ফ্রেম যোগ করুন এবং তাতে একটি লেবেল এবং একটি এন্ট্রি উইজেট সংজ্ঞায়িত করুন।
- Matplotlib-এ figure() মেথড ব্যবহার করে ফিগারের আকার সংজ্ঞায়িত করুন। এই ফিগারটি ক্যানভাসে সিনট্যাক্স প্লট করতে ব্যবহৃত হতে পারে।
- এখন একটি Canvas উইজেট তৈরি করুন যেখানে আমরা TkAgg ব্যবহার করে আমাদের ফিগার সংজ্ঞায়িত করব।
- এন্ট্রি উইজেটের কন্টেন্ট পেতে এবং Matplotlib-এ পূর্বনির্ধারিত ফাংশন text() ব্যবহার করে টেক্সটকে ফিগারে কনভার্ট করতে একটি ফাংশন সংজ্ঞায়িত করুন।
- রিটার্ন বা ক্লিক ইভেন্ট ফাংশনের সাথে বাইন্ড করে আউটপুট ক্যানভাসে প্রদর্শন করুন।
উদাহরণ
# প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
from tkinter import *
from tkinter import ttk
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
# Tkinter অ্যাপ্লিকেশনের ব্যাকএন্ডে TkAgg ব্যবহার করুন
matplotlib.use('TkAgg')
# Tkinter ফ্রেমের উদাহরণ তৈরি করুন
win = Tk()
# উইন্ডোর আকার সেট করুন
win.geometry("700x350")
# উইন্ডোর টাইটেল সেট করুন
win.title("LaTex Viewer")
# ফিগার আউটপুট পেতে ফাংশন সংজ্ঞায়িত করুন
def graph(text):
# এন্ট্রি ইনপুট পান
tmptext = entry.get()
tmptext = "$" + tmptext + "$"
# ফিগার থেকে আগের সিনট্যাক্স ক্লিয়ার করুন
wx.clear()
wx.text(0.2, 0.6, tmptext, fontsize=20)
canvas.draw()
# একটি ফ্রেম অবজেক্ট তৈরি করুন
frame = Frame(win)
frame.pack()
# একটি এন্ট্রি উইজেট তৈরি করুন
var = StringVar()
entry = Entry(frame, width=70, textvariable=var)
entry.pack()
# ফ্রেমে একটি লেবেল উইজেট যোগ করুন
label = Label(frame)
label.pack()
# ফিগারের আকার সংজ্ঞায়িত করুন এবং ফিগার প্লট করুন
fig = matplotlib.figure.Figure(figsize=(7, 4), dpi=100)
wx = fig.add_subplot(111)
canvas = FigureCanvasTkAgg(fig, master=label)
canvas.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
canvas._tkcanvas.pack(side=TOP, fill=BOTH, expand=1)
# ক্যানভাস ফিগারের ভিজিবিলিটি সেট করুন
wx.get_xaxis().set_visible(False)
wx.get_yaxis().set_visible(False)
win.bind('', graph)
win.mainloop()
আউটপুট
উপরের কোড এক্সিকিউট করলে একটি এন্ট্রি উইজেট এবং একটি ফিগার প্লট সহ উইন্ডো প্রদর্শিত হবে। এখন কিছু বৈজ্ঞানিক এক্সপ্রেশন টাইপ করুন LaTeX ফরম্যাটে ফলাফল দেখার জন্য।
