نمودارهای جعبه ای در Matplotlib: راهنمای جامع و کاربردی
مقدمه
نمودارهای جعبه ای ابزاری بصری کارآمد برای نمایش توزیع داده ها به صورت خلاصه و گویا هستند. این نوع نمودارها به شما کمک می کنند تا محدوده مقادیر، میانگین، میانه و چارک های داده ها را به سرعت و به آسانی درک کنید. Matplotlib، به عنوان کتابخانه ای قدرتمند برای تجسم داده در پایتون، امکانات متعددی را برای ایجاد نمودارهای جعبه ای با جزئیات و شخصی سازی های فراوان در اختیار کاربران قرار می دهد.
هدف از این راهنما
این راهنما با هدف ارائه شرحی جامع و کاربردی، نحوه ایجاد نمودارهای جعبه ای را در Matplotlib به صورت گام به گام شرح می دهد.
مراحل ایجاد نمودار جعبه ای:
۱. بارگذاری کتابخانه های ضروری:
در ابتدای امر، کتابخانه های matplotlib.pyplot
(با نام مستعار plt
) و numpy
(با نام مستعار np
) به ترتیب برای رسم نمودار و کار با داده ها فراخوانی میشوند:
import matplotlib.pyplot as plt
import numpy as np
۲. آماده سازی داده ها:
داده ها باید به صورت آرایه های NumPy با عناوین مجزا برای برچسب های هر گروه و مقادیر مربوط به هر گروه تعریف شوند. به عنوان مثال:
groups = np.array(['گروه A', 'گروه B', 'گروه C'])
data = np.array([
[۲۵, ۳۰, ۲۲, ۲۷, ۳۵],
[۱۸, ۲۱, ۲۶, ۱۹, ۲۰],
[۴۰, ۳۸, ۴۵, ۴۲, ۴۳]
])
در این مثال، آرایه groups
شامل برچسب های هر گروه از نمودار جعبه ای و آرایه data
مقادیر مربوط به هر گروه را به صورت لیست های مجزا نشان میدهد.
۳. ایجاد نمودار جعبه ای:
با استفاده از تابع plt.boxplot()
در کتابخانه matplotlib.pyplot
، نمودار جعبه ای با جعبه، خطوط میانی، خطوط سیبیل و نقاط خارج از محدوده برای هر گروه ایجاد می شود:
plt.boxplot(data, labels=groups, vert=False, patch_artist=True)
۴. سفارشیسازی نمودار (اختیاری):
Matplotlib امکانات متعددی را برای شخصیسازی ظاهر نمودار جعبه ای از جمله رنگ جعبه ها، ضخامت خطوط، رنگ خطوط سیبیل، نشان دادن نقاط خارج از محدوده و موارد دیگر ارائه میدهد. برای جزئیات بیشتر، به مستندات Matplotlib مراجعه کنید.
۵. نمایش نمودار:
در نهایت، با استفاده از تابع show
، نمودار جعبه ای ایجاد شده به نمایش گذاشته میشود:
plt.show()
مثال کامل:
import matplotlib.pyplot as plt
import numpy as np
groups = np.array(['گروه A', 'گروه B', 'گروه C'])
data = np.array([
[۲۵, ۳۰, ۲۲, ۲۷, ۳۵],
[۱۸, ۲۱, ۲۶, ۱۹, ۲۰],
[۴۰, ۳۸, ۴۵, ۴۲, ۴۳]
])
plt.boxplot(data, labels=groups, vert=False, patch_artist=True,
notch=True, whiskerprops=dict(linewidth=۲),
flierprops=dict(marker='o', markersize=۵, markerfacecolor='red'))
plt.title("نمودار جعبه ای")
plt.xlabel("گروه ها")
plt.grid(True)
plt.show()
این کد یک نمودار جعبه ای با عنوان، برچسب ها، جعبه های رنگی، خطوط سیبیل ضخیم، نشان دادن نقاط خارج از محدوده با دایره قرمز، و شبکه روی هر محور ایجاد میکند.
نکات کلیدی:
- می توانید از آرگومان
vert
برای ایجاد نمودار جعبه ای عمودی به جای افقی استفاده کنید.