ম্যাটপ্লটলিব বা matplotlib হচ্ছে পাইথনের বহুল ব্যবহৃত ভিজুয়ালাইজেশন (Visualization) লাইব্রেরি যার সাহায্যে যেকোন ধরনের লাইন, বার, চার্ট, হিস্টোগ্রাম ইত্যাদি খুব সহজেই তৈরি করা যায়। ম্যাটপ্লটলিব যেহেতু একটি ভিজুয়ালাইজেশন লাইব্রেরি তাই প্রতিটা উদাহরণ অনেক বড় হতে পারে। এখানে চেষ্টা করা হবে কত সহজে এবং স্বল্প কোড লিখে এই লাইব্রেরি সম্পর্কে ভাল ধারণালাভ করা যায়।
ম্যাটপ্লটলিব ইনস্টল করা (Installing Matplotlib)
পূর্বের নামপাই ইনস্টল করার মতই আমরা pip কমান্ড ব্যবহার করে পানডাস ইনস্টল করব। যেহেতু আমরা আগেই শিখেছি কিভাবে pip কমান্ড ব্যবহার করতে হয় তাই এখানে বিস্তারিত আলোচনা করা হলনা। ম্যাটপ্লটলিব ইনস্টল করতে নিচের কমান্ডটি লিখি-
pip install matplotlib
সবকিছু ঠিকঠাক থাকলে নিচের ছবির মত দেখতে পাবেন-
আশাকরি সবাই সঠিকভাবে ম্যাটপ্লটলিব ইনস্টল করতে সক্ষম হয়েছেন।
প্লটিং (Plotting)
ম্যাটপ্লটলিব এ খুব সহজেই ম্যাটপ্লটলিব এর plot() মেথড দিয়ে গ্রাফ আঁকা যায়। এখানে শুধু y-অক্ষের মান দিয়ে একটি গ্রাফ তৈরি করা দেখানো হল।
import matplotlib.pyplot as plt
import numpy as np
y_value = np.array([3,6,4,1,2])
plt.plot(y_value, marker='*', linestyle='dashed')
plt.title("This is a title")
plt.xlabel("X Value")
plt.ylabel("Y Value")
plt.show()
ফলাফল-
এখানে আমরা একটি গ্রাফ দেখতে পাচ্ছি। যদি একটু ভালভাবে লক্ষ্য করি তাহলে দেখতে পাব যে (০,৩), (১,৬), (২,৪), (৩,১), (৪,২) অবস্থানে পয়েন্ট তৈরি হয়েছে। y_value ভেরিয়েবল এ শুধু y-অক্ষের মান থাকলেও ম্যাটপ্লটলিব স্বয়ংক্রিয়ভাবে x-অক্ষের মান এক ঘর পর পর নিয়ে নিয়েছে।
প্রথম লাইনে খেয়াল করলে দেখা যাচ্ছে যে এখানে matplotlib কে ইমপোর্ট না করে matplotlib.pyplot ইমপোর্ট করেছি। pyplot হচ্ছে একটি সাব মডিউল যেখানে বেশিরভাগ গ্রাফ এর তথ্য দেওয়া আছে।
plt.plot() দিয়ে পয়েন্টগুলোকে প্লট করা হয়েছে। এখানে marker নামে একটি আর্গুমেন্ট দেখতি পাচ্ছি, এটা দিয়ে মূলত বোঝানো হচ্ছে যে পয়েন্টগুলো দেখতে কোন ডিজাইনের হবে। * এর বদলে আপনার পছন্দমত পাইথন সাপোর্টেড যেকোন ক্যারেকটার ব্যবহার করা যায়। এখানে আর একটি আর্গুমেন্ট আছে সেটা হচ্ছে linestyle, এই আর্গুমেন্ট দিয়ে লাইনটা কেমন হবে সেটা নির্দেশ করা হয়। এর ভ্যালুগুলো হয় – solid, dotted, dashed, dashdot, ইত্যাদি। তবে linestyle আর্গুমেন্ট এ কিছু না দিলে সেটা ডিফল্ট হিসেবে solid হবে।
plt.title() দিয়ে গ্রাফ এর টাইটেল বোঝানো হয়েছে। গ্রাফের উপরে যে “This is a title” লেখা দেখা যাচ্ছে এটাই টাইটেল।
plt.xlabel() এবং plt.ylabel() দিয়ে গ্রাফের লেবেল বোঝানো হয়েছে। xlabel দিয়ে x-অক্ষের দিকে এবং ylabel দিয়ে y-অক্ষের দিকের লেবেল বোঝানো হয়। ফলাফল এ দেওয়া গ্রাফ এর সাথে মিলিয়ে নিই।
শেষে যে plt.show() লাইনটি ব্যবহার করা হয়েছে এটার জন্যই আমরা ফলাফল দেখতে পাচ্ছি।
বিঃদ্রঃ পরবর্তী উদাহরণগুলোতে আমরা লেবেল বা টাইটেল গুলো ব্যবহার করব না।
লাইন গ্রাফ (Line Graph)
উপরে আমরা যে গ্রাফটি দেখেছি সেটাও লাইন গ্রাফ। এখন দেখব কিভাবে একাধিক পয়েন্ট নিয়ে গ্রাফ তৈরি করা যায়।
import matplotlib.pyplot as plt
import numpy as np
x_value = np.array([1,2,5,8])
y_value = np.array([3,6,9,5])
plt.plot(x_value,y_value)
plt.show()
ফলাফল-
এখানে আমরা নির্দিষ্ট কিছু পয়েন্ট এর একটি লাইন গ্রাফ দেখতে পাচ্ছি।
স্ক্যাটার প্লট (Scatter Plot)
লাইনপ্লট এ একটি বিন্দু আর একটি বিন্দুর সাথে সংযুক্ত থাকে কিন্তু স্ক্যাটারপ্লট এ কোন সংযোগ থাকেনা। অনেকটা র্যান্ডম পয়েন্ট এর মত দেখায়। স্ক্যাটার প্লট এর জন্য scatter() মেথডটি ব্যবহার করা হয়।
import matplotlib.pyplot as plt
import numpy as np
x_value = np.random.rand(20) #Genrate 20 random number
y_value = np.random.rand(20) #Genrate 20 random number
plt.scatter(x_value,y_value)
plt.show()
ফলাফল-
আমরা scatter() ব্যবহার করে একটি গ্রাফ এঁকেছি। সুবিধার জন্য ৪র্থ ও ৫ম লাইনে র্যান্ডম কিছু নাম্বার নিয়েছি। আপনারা চাইলে আপনাদের পছন্দমত কিছু প্রকৃত সংখ্যা নিয়ে চেষ্টা করে দেখতে পারেন।
বার চার্ট (Bar Chart)
কোন কিছুকে বার আকার প্রকাশ করার জন্য বার চার্ট ব্যবহার করা হয়। বার চার্ট বানানোর জন্য bar() মেথডটি ব্যবহার করতে হয়।
import matplotlib.pyplot as plt
import numpy as np
x_value = np.array(['CSE10','CSE20','CSE30'])
y_value = np.array([4,3.55,2.88])
plt.bar(x_value,y_value)
plt.show()
ফলাফল-
bar() মেথড ব্যবহার করে একটি প্লট তৈরি করা হয়েছে। বার গুলো ডিফল্ট ভাবে উল্লম্ব বরাবর হয় তবে barh() মেথড ব্যবহার করে সমান্তরাল বার তৈরি করা যায়।
পাই চার্ট (Pie Chart)
পাই চার্ট এর সাথে কমবেশি আমরা সবাই পরিচিত। কোন কিছুকে শতকরা হিসেবে প্রকাশ করার জন্য পাই চার্ট ব্যবহার করা হয়। ম্যাটপ্লটলিব এ পাইচার্ট তৈরি করার জন্য pie() মেথড ব্যবহার করা হয়।
import matplotlib.pyplot as plt
import numpy as np
value = [20,20,30,10,20]
label = ['Label1','Label2','Label3','Label4','Label5']
plt.pie(value,labels=label)
plt.show()
ফলাফল-
pie() মেথড ব্যবহার করে একটি পাই চার্ট তৈরি করা হয়েছে। আমরা এখানে কিছু অর্থহীন লেবেল তৈরি করেছি, প্রকৃত কাজের সময় আমরা অর্থবহ লেবেল তৈরি করার চেষ্টা করব।