matplotlib جزء آن دسته از پکیجهایی است که امکانات گرافیکی زیادی برای مصورسازی دادهها همچون ترسیمات دوبعدی، سه بعدی و حتی انیمیشن را فراهم میکند.
رسم خطوط در matplotlib
برای رسم یک خط در کتابخانه مت پلات مراحل زیر را داریم:
تعریف محور x و مقادیر متناظر در محور y به صورت لیستهای جداگانه
رسم آنها بر روی صفحه با تابع plot
اختصاص نام به محورهای x و y با توابع xlabel و ylabel
دادن عنوان به نمودار با تابع title
در پایان تمامی کدها در matplotlib بکارگیری تابع plt.show برای دیدن شکل نهایی نمودار
# importing the required module
import matplotlib.pyplot as plt
# x axis values
x = [1,2,3]
# corresponding y axis values
y = [2,4,1]
# plotting the points
plt.plot(x, y)
# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')
# giving a title to my graph
plt.title('My first graph!')
# function to show the plot
()plt.show
خروجی کد بالا نمودار خطی زیر است:
برای رسم دو یا چند خط بر روی یک نمودار مانند کد زیر عمل میکنیم که در آن:
همانطور که میبینید دو خط را بر روی یک نمودار رسم کردهایم. برای ایجاد تمایز به هر یک نام (label) متفاوتی دادهایم، که این نام به عنوان آرگومان ورودی تابع plot تعریف میشود. جعبه مستطیل شکل کوچکی که اطلاعاتی در مورد نوع و شکل خطوط میدهد legend نامیده میشود. برای افزودن legend به نمودار از تابع legend استفاده میکنیم.
import matplotlib.pyplot as plt
# line 1 points
x1 = [1,2,3]
y1 = [2,4,1]
# plotting the line 1 points
plt.plot(x1, y1, label = "line 1")
# line 2 points
x2 = [1,2,3]
y2 = [4,1,3]
# plotting the line 2 points
plt.plot(x2, y2, label = "line 2")
# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')
# giving a title to my graph
plt.title('Two lines on same graph!')
# show a legend on the plot
plt.legend()
# function to show the plot
()plt.show
خروجی کد به شکل زیر است:
در رسم نمودارها به کمک مت پلات میتوان ویژگیهای بیشتری را به نمودار افزود. نمودار حاصل از کد مثال زیر را در نظر بگیرید:
import matplotlib.pyplot as plt
# x axis values
x = [1,2,3,4,5,6]
# corresponding y axis values
y = [2,4,1,5,2,6]
# plotting the points
plt.plot(x, y, color='green', linestyle='dashed', linewidth = 3,
marker='o', markerfacecolor='blue', markersize=12)
# setting x and y axis range
plt.ylim(1,8)
plt.xlim(1,8)
# naming the x axis
plt.xlabel('x - axis')
# naming the y axis
plt.ylabel('y - axis')
# giving a title to my graph
plt.title('Some cool customizations!')
# function to show the plot
()plt.show
خروجی کد به صورت نقاط متصل شده زیر با خطوط دندانهدار به شکل زیر است:
همانطور که در شکل میبینید در این نمودار:
عرض، شکل و رنگ خط را مقداردهی کردهایم. رنگ و شکل و اندازه هر نقطه را به طور دلخواه مشخص کردهایم. ویژگیهای مرتبط با marker رنج محورهای z و y را به دلخواه خود تعیین نمودهایم. اگر رنج دهی به مختصات را خودمان تنظیم نمیکردیم ماژول PyPlot از ویژگی auto-scale برای تنظیم رنج و مقیاسدهی به محورها استفاده میکرد.