مصورسازی داده با Matplotlib در پایتون: راهنمای جامع
Matplotlib یکی از قدرتمندترین و پرکاربردترین کتابخانههای مصورسازی داده در پایتون است. این کتابخانه امکان ایجاد طیف گستردهای از نمودارها، از نمودارهای خطی ساده تا نمودارهای پیچیده سهبعدی را فراهم میکند. در این مقاله، به بررسی عمیق Matplotlib و نحوه استفاده از آن برای مصورسازی دادهها در زمینه علم داده و یادگیری ماشین خواهیم پرداخت.
مقدمهای بر Matplotlib
Matplotlib یک کتابخانه متنباز است که به شما امکان میدهد نمودارها و تصاویر با کیفیت بالا را در پایتون ایجاد کنید. این کتابخانه بر پایه زبان برنامهنویسی پایتون ساخته شده و با سایر کتابخانههای علمی پایتون مانند NumPy و Pandas به خوبی یکپارچه میشود. Matplotlib به دلیل انعطافپذیری و قابلیت سفارشیسازی بالا، به ابزاری ضروری برای دانشمندان داده، محققان و مهندسان تبدیل شده است.
نصب و راهاندازی Matplotlib
برای نصب Matplotlib، میتوانید از pip، مدیر بسته پایتون، استفاده کنید. دستور زیر را در ترمینال یا خط فرمان خود اجرا کنید:
pip install matplotlib
پس از نصب، میتوانید Matplotlib را در اسکریپتهای پایتون خود با استفاده از دستور import matplotlib.pyplot as plt وارد کنید.
نمودارهای پایهای در Matplotlib
Matplotlib طیف گستردهای از نمودارها را ارائه میدهد. در اینجا به برخی از نمودارهای پایهای و نحوه ایجاد آنها میپردازیم:
نمودار خطی (Line Plot)
نمودار خطی برای نمایش روند تغییرات یک متغیر در طول زمان یا در برابر متغیر دیگر استفاده میشود.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]
plt.plot(x, y)
plt.xlabel("محور X")
plt.ylabel("محور Y")
plt.title("نمودار خطی")
plt.show()
نمودار پراکندگی (Scatter Plot)
نمودار پراکندگی برای نمایش رابطه بین دو متغیر استفاده میشود. هر نقطه در نمودار نشاندهنده یک جفت داده است.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]
plt.scatter(x, y)
plt.xlabel("محور X")
plt.ylabel("محور Y")
plt.title("نمودار پراکندگی")
plt.show()
نمودار میلهای (Bar Plot)
نمودار میلهای برای مقایسه مقادیر مختلف در دستههای مختلف استفاده میشود.
import matplotlib.pyplot as plt
categories = ['A', 'B', 'C', 'D']
values = [25, 40, 30, 35]
plt.bar(categories, values)
plt.xlabel("دستهها")
plt.ylabel("مقادیر")
plt.title("نمودار میلهای")
plt.show()
هیستوگرام (Histogram)
هیستوگرام برای نمایش توزیع فراوانی یک متغیر استفاده میشود.
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.xlabel("مقادیر")
plt.ylabel("فراوانی")
plt.title("هیستوگرام")
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()
سفارشیسازی نمودارها
Matplotlib امکان سفارشیسازی گستردهای را برای نمودارها فراهم میکند. میتوانید رنگها، فونتها، برچسبها، عنوانها و سایر ویژگیهای نمودار را تغییر دهید.
تغییر رنگها
میتوانید رنگ خطوط، نقاط و میلهها را با استفاده از پارامتر color تغییر دهید.
plt.plot(x, y, color='red') plt.scatter(x, y, color='blue') plt.bar(categories, values, color='green')
تغییر فونتها
میتوانید فونت عنوان، برچسبها و سایر متنهای نمودار را با استفاده از پارامتر fontdict تغییر دهید.
font = {'family': 'serif',
'color': 'darkred',
'weight': 'normal',
'size': 16,
}
plt.title("نمودار با فونت سفارشی", fontdict=font)
اضافه کردن عنوان و برچسبها
میتوانید با استفاده از توابع plt.title()، plt.xlabel() و plt.ylabel() عنوان و برچسبها را به نمودار اضافه کنید.
اضافه کردن راهنما (Legend)
میتوانید با استفاده از تابع plt.legend() راهنما را به نمودار اضافه کنید.
تغییر محدودههای محورها
میتوانید با استفاده از توابع plt.xlim() و plt.ylim() محدودههای محورها را تغییر دهید.
نمودارهای پیشرفته در Matplotlib
Matplotlib علاوه بر نمودارهای پایهای، نمودارهای پیشرفتهتری نیز ارائه میدهد:
نمودارهای سهبعدی (3D Plots)
Matplotlib امکان ایجاد نمودارهای سهبعدی را فراهم میکند.
نمودارهای کانتور (Contour Plots)
نمودارهای کانتور برای نمایش سطوح همتراز یک تابع استفاده میشوند.
نمودارهای جعبهای (Box Plots)
نمودارهای جعبهای برای نمایش توزیع یک متغیر و شناسایی مقادیر پرت استفاده میشوند.
Matplotlib و Pandas
Matplotlib به خوبی با کتابخانه Pandas یکپارچه میشود. میتوانید به راحتی دادههای موجود در DataFrame های Pandas را با استفاده از متدهای plot() مصورسازی کنید.
import pandas as pd
import matplotlib.pyplot as plt
data = {'X': [1, 2, 3, 4, 5],
'Y': [2, 4, 1, 3, 5]}
df = pd.DataFrame(data)
df.plot(x='X', y='Y', kind='line')
plt.title("نمودار خطی با استفاده از Pandas")
plt.show()
نتیجهگیری
Matplotlib یک کتابخانه قدرتمند و انعطافپذیر برای مصورسازی دادهها در پایتون است. با استفاده از Matplotlib، میتوانید طیف گستردهای از نمودارها را ایجاد کنید و آنها را به دلخواه خود سفارشیسازی کنید. این کتابخانه ابزاری ضروری برای دانشمندان داده، محققان و مهندسان است که به دنبال مصورسازی دادهها و استخراج بینش از آنها هستند. با تمرین و آزمایش، میتوانید به طور کامل بر Matplotlib مسلط شوید و از قابلیتهای آن برای بهبود تحلیل دادههای خود بهرهمند شوید.

بدون دیدگاه