قسمت اول – کتابخانه Matplotlib
کتابخانه Matplotlib یکی از پرکاربردترین و محبوبترین کتابخانهها در زبان برنامهنویسی پایتون برای مصورسازی دادهها است. این کتابخانه به شما امکان میدهد تا دادهها را به صورت گرافیکی و بصری نمایش دهید و نمودارهای مختلفی از جمله خطی، میلهای، پراکندگی، هیستوگرام و دیگر انواع نمودارها را تولید کنید.
معرفی Matplotlib
Matplotlib یک کتابخانه رایگان و متنباز است که برای ترسیم نمودارهای دو بعدی (۲D) و برخی نمودارهای سه بعدی (۳D) در پایتون استفاده میشود. این کتابخانه به شما امکان میدهد دادهها را به شیوههای مختلفی مثل نمودارهای خطی، پراکندگی، میلهای، هیستوگرام و بسیاری دیگر به نمایش بگذارید. هدف اصلی این کتابخانه، سادهسازی فرایند ترسیم و سفارشیسازی نمودارها و گرافها است.
نصب Matplotlib
برای نصب کتابخانه Matplotlib میتوانید از دستور زیر استفاده کنید:
pip install matplotlib
استفاده از Matplotlib
پس از نصب، میتوانید از این کتابخانه در برنامههای پایتون خود استفاده کنید. در ادامه مثالی ساده از نحوه استفاده از این کتابخانه برای ترسیم یک نمودار خطی آورده شده است:
import matplotlib.pyplot as plt # دادهها x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # ترسیم نمودار plt.plot(x, y) # نمایش نمودار plt.show()
که خروجی آن نمودار خطی زیر می باشد.
انواع نمودارها
کتابخانه Matplotlib از انواع مختلف نمودارها پشتیبانی میکند که در ادامه به چند مورد از آنها اشاره میکنیم:
- نمودار خطی (Line Plot)
نمودار خطی برای نشان دادن روند تغییرات دادهها در طول زمان یا متغیرهای پیوسته دیگر استفاده میشود. این نوع نمودار برای مشاهده الگوها و روندهای دادهها مناسب است.
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.title('نمودار خطی') plt.xlabel('X') plt.ylabel('Y') plt.show()
خروجی قطعه کد بالا در تصویر پایین نمایان می باشد مقادیر فارسی به صورت مناسب نمایش داده نمی شوند که در مقاله های بعدی در مورد matplotlib این مورد را برطرف خواهیم کرد.
- نمودار میلهای (Bar Plot)
نمودار میلهای برای مقایسه مقادیر مختلف بین گروهها یا دستهها مناسب است. در این نوع نمودار، طول هر میله نمایانگر مقدار آن دسته است.
import matplotlib.pyplot as plt x = ['A', 'B', 'C', 'D', 'E'] y = [5, 7, 3, 8, 6] plt.bar(x, y) plt.title('نمودار میلهای') plt.xlabel('دستهها') plt.ylabel('مقادیر') plt.show()
- نمودار پراکندگی (Scatter Plot)
نمودار پراکندگی برای نمایش رابطه بین دو مجموعه داده استفاده میشود. این نوع نمودار به شما کمک میکند تا ارتباط بین دو متغیر را مشاهده کنید.
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.scatter(x, y) plt.title('نمودار پراکندگی') plt.xlabel('X') plt.ylabel('Y') plt.show()
- هیستوگرام (Histogram)
هیستوگرام برای نشان دادن توزیع دادهها در یک مجموعه داده استفاده میشود. دادهها به دستههای مختلف (bins) تقسیم میشوند و تعداد دادههایی که در هر دسته قرار دارند به نمایش در میآید.
import matplotlib.pyplot as plt import numpy as np data = np.random.randn(1000) # تولید داده تصادفی plt.hist(data, bins=30) plt.title('هیستوگرام') plt.xlabel('مقدار') plt.ylabel('تعداد') plt.show()
- نمودار دایرهای (Pie Chart)
نمودار دایرهای برای نمایش توزیع نسبی دادهها در دستههای مختلف استفاده میشود. این نوع نمودار به ویژه برای نمایش درصدها مناسب است.
import matplotlib.pyplot as plt labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] plt.pie(sizes, labels=labels, autopct='%1.1f%%') plt.title('نمودار دایرهای') plt.show()
- نمودار جعبهای (Box Plot)
نمودار جعبهای برای نمایش توزیع دادهها و شناسایی نقاط دور از مرکز یا ناهنجاریها استفاده میشود. این نمودار نشاندهنده پنج آمار اصلی است: کمترین مقدار، ۱۰۰%، میانه (median)، ۷۵% و بیشترین مقدار.
import matplotlib.pyplot as plt import numpy as np data = [np.random.randn(100) for _ in range(5)] plt.boxplot(data) plt.title('نمودار جعبهای') plt.show()
- نمودار سطحی (Surface Plot)
نمودار سطحی برای نمایش دادههای سهبعدی استفاده میشود. این نمودار برای مشاهده روابط پیچیدهتر بین دادهها مفید است.
import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D x = np.linspace(-5, 5, 100) y = np.linspace(-5, 5, 100) x, y = np.meshgrid(x, y) z = np.sin(np.sqrt(x**2 + y**2)) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface(x, y, z, cmap='viridis') plt.title('نمودار سطحی') plt.show()
- نمودار هیستوگرام دوگانه (Stacked Histogram)
نمودار هیستوگرام دوگانه برای نمایش دادهها بهصورت تجمعی استفاده میشود. این نوع نمودار برای مقایسه دادههای مختلف در دستههای مشخص مفید است.
import matplotlib.pyplot as plt import numpy as np data1 = np.random.randn(1000) data2 = np.random.randn(1000) plt.hist([data1, data2], bins=30, stacked=True, label=['داده ۱', 'داده ۲']) plt.title('هیستوگرام دوگانه') plt.xlabel('مقدار') plt.ylabel('تعداد') plt.legend() plt.show()
- نمودار پلکانی (Step Plot)
نمودار پلکانی برای نمایش دادههایی که تغییرات آنها به صورت پلهای است، مناسب است. این نمودار معمولاً برای دادههای گسسته کاربرد دارد.
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 3, 2, 5, 4] plt.step(x, y) plt.title('نمودار پلکانی') plt.xlabel('X') plt.ylabel('Y') plt.show()
- نمودار خطایابی (Error Bar Plot)
نمودار خطایابی برای نمایش دادههایی که دارای عدم قطعیت یا خطا هستند، استفاده میشود. خطاها به صورت عمودی یا افقی روی نقاط دادهها ترسیم میشوند.
import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] yerr = [0.5, 0.5, 0.5, 0.5, 0.5] # خطای عمودی plt.errorbar(x, y, yerr=yerr, fmt='o', label='دادهها با خطا') plt.title('نمودار خطایابی') plt.xlabel('X') plt.ylabel('Y') plt.legend() plt.show()
نتیجهگیری
کتابخانه Matplotlib از انواع مختلفی از نمودارها پشتیبانی میکند که به شما این امکان را میدهد تا دادهها را به روشهای مختلف بصریسازی کنید. این نمودارها میتوانند به شما کمک کنند تا الگوها، روابط و روندها را در دادههای خود بهتر درک کنید.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.