Kernel: Python 2 (system-wide)
שרטוט וציור בעזרת החבילה matplotlib
אחד מתפקידי של המדע החישובי הוא ההמחשה. האימרה: ״תמונה אחת שווה אלף מילים״ כאילו נוסחא במיוחד למדע. גרף של תוצאות ניסוי, שרטוט של המערכת הנחקרת, או אנימציה של מערכת הם הטובים ביותר להבנת הבעיה או בחינת תאוריה או אמינות תוכנה. בשיעור זה תשתמשו בחבילה [matplotlib] (https://matplotlib.org) לצורך יצירת גרפים וציורים .
בשלב ראשון נייבא את תת הסיפריה matplotlib.pyplot. תת סיפריה זו בנויה כמו הסיפריה הגרפית של הסביבה החישובית matlab
בשלב ראשון נייבא את תת הסיפריה matplotlib.pyplot. תת סיפריה זו בנויה כמו הסיפריה הגרפית של הסביבה החישובית matlab
In [1]:
plt הוא הקיצור המקובל לחבילה matplotlib.pyplot
כדי לשרטט רשימה של נקודות נעביר לפונקציה plot שתי רשימות של נקודות, האחת של שיעורי ה- x והשניה של שיעורי ה- y. כל רשימת מספרים תועבר למחשב כשורת מספרים המופרדים ב- ׳,׳ והתחומים בסוגריים מרובעים לדוגמא [1.5, 2.3 ,3]
כדי לשרטט רשימה של נקודות נעביר לפונקציה plot שתי רשימות של נקודות, האחת של שיעורי ה- x והשניה של שיעורי ה- y. כל רשימת מספרים תועבר למחשב כשורת מספרים המופרדים ב- ׳,׳ והתחומים בסוגריים מרובעים לדוגמא [1.5, 2.3 ,3]
In [1]:
[<matplotlib.lines.Line2D at 0x7f71561e0290>]
מילת המפתח c מצינת את צבע הקו ואילו מילת המפתח lw מצינת את עובי הקו. בקישור [](https://matplotlib.org/api/colors_api.html#module-matplotlib.colors) תוכלו למצוא מידע נוסף על הצבעים.
התרשים מוכל באוביקט המכונה figure. לאובייקט זה מספר פונקציות בעזרתם ניתן לשנות את תכונות התמונה. למשל כדי לשנות את גודל התרשים:
התרשים מוכל באוביקט המכונה figure. לאובייקט זה מספר פונקציות בעזרתם ניתן לשנות את תכונות התמונה. למשל כדי לשנות את גודל התרשים:
In [3]:
[<matplotlib.lines.Line2D at 0x7fdf3e873b10>]
תרגיל 1
צרו תרשים של משולש שווה צלעות שאורך כל צלע שלו הוא 5 יחידות
In [32]:
[<matplotlib.lines.Line2D at 0x7f7155315c10>]
דרך יעילה יותר לשרטוט מצולע היא באמצעות הפונקציה Polygon:
In [2]:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-057f65c17dbf> in <module>()
----> 1 fig = plt.figure() #יצירת משטח הציור עליו ישורטטו האלמנטים הגרפיים השונים
2 fig.set_dpi(100) # קביעת הרזולוציה של התמונה, מספר הנקודות לאינץ
3 fig.set_size_inches(7,7) # קביעת גודל התמונה באינצים
4
5 ax = plt.axes(xlim=(-4, 4), ylim=(-4, 4)) #יצירת אוביקט מסוג מערכת צירים
NameError: name 'plt' is not defined
תרגיל 2
שנו בדוגמא את fc ל-'r' כיצד הוא השפיע? על מה משפיע הפרמטר ec?
In [39]:
<matplotlib.patches.Polygon at 0x7f715502d1d0>
תרגיל 3
צרו תרשים של מגן דוד
In [57]:
[<matplotlib.lines.Line2D at 0x7f7154975e90>]
תרגיל 4
צרו תרשים של בית כחול עם גג אדום (אתם יכולים לשרטט קודם את הגג ולאחר מכן את הבית)
In [8]:
<matplotlib.patches.Polygon at 0x7f4761a10690>
באמצעות המשפט
תוכלו ליצור אובייקט מסוג מעגל שרדיוסו 0.75 ומרכזו בנקודה (5,-5) .
In [16]:
<matplotlib.patches.Circle at 0x7f4761768090>
תרגיל 5
צרו תרשים של מכונית
In [41]:
<matplotlib.patches.Polygon at 0x7f47605c0110>
מראה וחוק ההחזרה
צפו בסרטון שבהמשך
In [0]:
מיקום של נקודה במישור ניתן על ידי צמד מספרים. מספרים אלו מכונים שיעורי הנקודה. דרך אחת לתת שיעורי נקודה היא במערכת צירים קרטזים. במקרה זה שיעורי הנקודה הם הטליה על ציר ה-x וציר ה-y בהתאמה. דרך אחרת היא שימוש בקוארדינטות פולריות. במקרה זה מיקומה של הנקודה ניתן על ידי צמד מספרים שהם הזווית בין הישר המחבר את הנקודה לראשית וציר ה-x ומרחק הנקודה מהראשית. בסיפריה הגראפית matplolib ניתן לשרטט נקודות באמצעות קאורדינטות פולריות וזאת באמצעות הפונקציה polar:
In [67]:
[<matplotlib.lines.Line2D at 0x7fbe8af53dd0>]
הזוויות ניתנות ברדיאנים. על הרדיאן תוכלו ללמוד בסרטון שלמטה:
In [5]:
תרגיל 6
בתרגיל זה אתם נידרשים לבנות קטע תוכנית היוצר על המסך תרשים הממחיש את חוק ההחזרה, כדוגמת זה שלמטה:
In [7]:
[<matplotlib.lines.Line2D at 0x7fd0345e1ed0>]
In [0]:
In [0]: