مكتبة matplotlib هي احدى اشهر مكتبات بايثون لرسم المخططات ثنائية البعد 2D وعرضها. كما بالشكل التالي:

الاستخدام

عادة لرسم اي مخطط باستخدام مكتبة matplotlib نتبع مجموعة من الخطوات:

التهيئة

اول خطوة تكون باستيراد import المكتبات التي نحتاجها وهما matplotlib و numpy حيث ان اغلبية البيانات تكون محفوظة في مصفوفات numpy

تشغيل
import matplotlib.pyplot as plt
import numpy as np

اعداد ابيانات

الخطوة التالية هي اعداد البيانات، لرسم المخطوطات نحتاج ان نحدد قيم البيانات على المحور الافقي X و ما يقابلها على المحور الرأسي Y. فمثلا اذا اردنا ان نرسم الدالة Y = X^2 نقوم بانشاء مصفوفتين كل منها يحمل قيم X و Y

نستطيع استخدام دوال مكتبة numpy لانشاء الدوال الحسابية.
تشغيل
X = np.arange(0,10)
Y = np.power(X,2)

تجهيز عرض البيانات

لعرض البيانات نحتاج وضع البيانات على محاورaxes المخطط و لاظهار الشكل النهائي نحتاج الى مساحة عرض، توفر لنا مكتبة matplotlib الادوات اللازمة لذلك. الدالة ()subplots توفر لنا المحاور التي نستخدمها لوضع البيانات عليها و توفر لنا مساحة عرض وهي عبارة عن نافذة window جديدة تظهر لعرض البيانات.

تشغيل
fig, ax = plt.subplots()# تهيئة نافذة العرض و محاور الرسم الهندسي
ax.plot(X,Y) # وضع البيانات على المحاور
fig.show() # اظهار نافذة العرض

المخططات

توفر مكتبة matplotlib العديد من المخططات المختلفة التي نستطيع عرض البيانات عليها

المنحنايات

احد اشهر المخططاه هو المخطط المنحني و هو يقوم بتوصيل نقاط الرسم الهندسي بخط منحني

تشغيل
X = np.linspace(0, 4*np.pi,1000) 
Y = np.sin(X) 

fig, ax = plt.subplots()
ax.plot(X,Y) 

fig.show()

مخطط التبعثر scatter

هو مخطط لا يقوم برسم خطوط بين نقاط الرسم (x,y) بل يكتفي بعرضها لنرى توزيع النقاط على المحاور

تشغيل
X = np.random.uniform(0,1,100)
Y = np.random.uniform(0,1,100)
fig, ax = plt.subplots()
ax.scatter(X,Y)
fig.show()

مخطط شريطي bar

هو مخطط يستخد لعرض البيانات في صورة اعمدة

تشغيل
X = np.arange(10)
Y = np.random.uniform(0,10,10)
fig, ax = plt.subplots()
ax.bar(X,Y)
fig.show()

مخطط الدائرة pie chart

هو مخطط يستخدم لاظهار توزيع البيانات في صورة دائرة

تشغيل
X = np.random.uniform(0,1,4)
fig, ax = plt.subplots()
ax.pie(X)
fig.show()

المظهر

تتيح لنا مكتبة matplotlib العديد من الادوات التي تمكننا من تغير مظهر المخططات مثل تغير الوان المخطط وشكل الخطوط وكتابة العناويين على المحاور وغيرها

اللون

نستطيع تغير لون الخط بتحديد اللون المراد في دالة plot

تشغيل
X = np.linspace(0, 4*np.pi,1000) 
Y = np.sin(X) 

fig, ax = plt.subplots()
ax.plot(X,Y, color= "red") # تغير اللون
fig.show() 

شكل الخط

نستطيع تحديد شكل الخطوط اذا كانت متصلة او منفصلة اومنقطة من خلال دالة plot

تشغيل
X = np.linspace(0, 4*np.pi,1000) 
Y = np.sin(X) 

fig, ax = plt.subplots()
ax.plot(X,Y, color= "red", linestyle="--") 
fig.show() 

الوسوم

نستطيع وضع وسوم labels او عناوين للمحاور وذلك عن طريق عنصر المحاور

تشغيل
X = np.linspace(0, 4*np.pi,1000) 
Y = np.sin(X) 

fig, ax = plt.subplots()
ax.plot(X,Y, color= "red") 
ax.set_title('Sin Function') # عنوان المخطط
ax.set_xlabel('X Data') # المحور الافقي
ax.set_ylabel('Y Data') # المحور الرأسي
fig.show()

المنحنايات المتعددة

نستطيع ان نظهر اكثر من مخطط في نفس نافذة العرض سواء كان داخل المحاور او في محاور مختلفة

نفس المحاور

فيها تظهر المنحنايات على نفس المحاور

تشغيل
X = np.linspace(0, 20  ,100) 
Y = np.sin(X) 
Z = np.cos(X)

fig, ax = plt.subplots()
ax.plot(X,Y,X,Z)
fig.show()

محاور مختلفة

فيها تظهر المنحنايات في نفس مساحة العرض لكن على محاور مختلفة، حيث نحدد للدالة subplot عدد المحاور التي نريدها و تقوم بارجاع عدد محاور مقابل لها

تشغيل
X = np.linspace(0, 20  ,100) 
Y = np.sin(X) 
Z = np.cos(X)

fig, (ax1, ax2) = plt.subplots(2,1) # تحديد اكثر من محور
ax1.plot(X,Y,color="green")
ax2.plot(X,Z)
fig.show()

guest
0 تعليقات
Inline Feedbacks
اظهر كل التعليقات