كيفية رسم المستطيلات في برنامج matplotlib (مع أمثلة)
لرسم مستطيل في Matplotlib، يمكنك استخدام الدالة matplotlib.patches.Rectangle ، التي تستخدم بناء الجملة التالي:
matplotlib.patches.Rectangle(xy، العرض، الارتفاع، الزاوية = 0.0)
ذهب:
- xy: إحداثيات (x، y) لنقطة ربط المستطيل
- العرض: عرض المستطيل
- الارتفاع: ارتفاع المستطيل
- الزاوية: الدوران بالدرجات عكس اتجاه عقارب الساعة حول xy (الافتراضي هو 0)
يقدم هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.
مثال 1: رسم مستطيل على المسار
يوضح التعليمة البرمجية التالية كيفية رسم مستطيل على قطعة أرض Matplotlib بعرض 2 وارتفاع 6:
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle #define Matplotlib figure and axis fig, ax = plt. subplots () #create simple line plot ax. plot ([0, 10],[0, 10]) #add rectangle to plot ax. add_patch (Rectangle((1, 1), 2, 6)) #displayplot plt. show ()
المثال 2: تصميم مستطيل
يوضح الكود التالي كيفية تصميم المستطيل:
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle #define Matplotlib figure and axis fig, ax = plt. subplots () #create simple line plot ax. plot ([0, 10],[0, 10]) #add rectangle to plot ax. add_patch (Rectangle((1, 1), 2, 6, edgecolor = ' pink ', facecolor = ' blue ', fill= True , lw= 5 )) #displayplot plt. show ()
يمكنك العثور على قائمة كاملة بخصائص النمط التي يمكنك تطبيقها على المستطيل هنا .
مثال 3: رسم مستطيل على الصورة
يوضح التعليمة البرمجية التالية كيفية رسم مستطيل على صورة في Matplotilb. لاحظ أن الصورة المستخدمة في هذا المثال تأتي من برنامج Matplotlib التعليمي هذا .
لإعادة إنتاج هذا المثال، ما عليك سوى تنزيل صورة الدبوس من هذا البرنامج التعليمي وحفظها على جهاز الكمبيوتر الخاص بك.
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle from PIL import Image #display the image plt. imshow ( Image.open (' stinkbug.png ')) #add rectangle plt. gca (). add_patch (Rectangle((50,100),40,80, edgecolor=' red ', facecolor=' none ', lw= 4 ))
لاحظ أنه يمكننا استخدام وسيطة الزاوية لتدوير المستطيل بعدد معين من الدرجات عكس اتجاه عقارب الساعة:
import matplotlib. pyplot as plt from matplotlib. patches import Rectangle from PIL import Image #display the image plt. imshow ( Image.open (' stinkbug.png ')) #add rectangle plt. gca (). add_patch (Rectangle((50,100),40,80, angle= 30 , edgecolor=' red ', facecolor=' none ', lw= 4 ))