ما هو Seaborn ولماذا هو مطلوب
Seaborn — هي مكتبة قوية لتصور البيانات بلغة Python، مبنية على أساس Matplotlib. وهي توفر واجهة عالية المستوى لإنشاء رسوم بيانية إحصائية جميلة وغنية بالمعلومات. تم تطوير المكتبة لتبسيط عملية إنشاء التصورات التي تُستخدم غالبًا في تحليل البيانات والتعلم الآلي.
المزايا الرئيسية لـ Seaborn:
إنشاء تلقائي لرسوم بيانية أنيقة بأقل قدر من الكود تكامل ممتاز مع pandas DataFrame وظائف مدمجة للتصور الإحصائي سهولة العمل مع البيانات الفئوية والرقمية حساب وعرض المؤشرات الإحصائية تلقائيًا دعم لوحات الألوان وأنماط التصميم الحديثة
تاريخ المكتبة وتطورها
تم إنشاء Seaborn بواسطة Michael Waskom في عام 2012 كإضافة لـ Matplotlib. اسم المكتبة مشتق من المسلسل التلفزيوني "The West Wing"، حيث كان أحد الشخصيات يحمل لقب Seaborn. المكتبة تتطور بنشاط ويتم تحديثها بانتظام، مضيفة ميزات جديدة وتحسن الإمكانيات الحالية.
تثبيت وإعداد Seaborn
التثبيت عبر pip
pip install seabornالتثبيت عبر conda
conda install seabornالاستيراد في الكود
import seaborn as snsimport matplotlib.pyplot as pltimport pandas as pdimport numpy as npالتحقق من الإصدار
print(sns.__version__)الاختلافات الرئيسية بين Seaborn و Matplotlib
| الخاصية | Matplotlib | Seaborn |
|---|---|---|
| النمط البصري الافتراضي | بسيط، أساسي | حديث، منمق |
| العمل مع DataFrame | دعم محدود | تكامل أصلي |
| بناء الرسوم البيانية الإحصائية | يتطلب الكثير من الكود | آلي |
| لوحات الألوان | أساسية | متنوعة وحديثة |
| الدوال الإحصائية | غير موجودة | مدمجة |
| الأساطير والشروح | إعداد يدوي | إنشاء تلقائي |
| تجميع البيانات | تنفيذ معقد | معاملات بسيطة |
الهندسة المعمارية ومبادئ العمل
يستخدم Seaborn "قواعد الرسوم البيانية" — مفهوم يتم فيه بناء التصور من مكونات منفصلة: البيانات، العناصر الجمالية، الكائنات الهندسية والتحويلات الإحصائية. وهذا يسمح بإنشاء تصورات معقدة من خلال دمج عناصر بسيطة.
العمل مع البيانات في Seaborn
مجموعات البيانات المدمجة
يتضمن Seaborn العديد من مجموعات البيانات الجاهزة للدراسة والتجارب:
# تحميل مجموعة بيانات شائعةdf = sns.load_dataset("tips")print(df.head())
# عرض جميع مجموعات البيانات المتاحةprint(sns.get_dataset_names())إعداد البيانات
# مثال على إنشاء مجموعة بيانات خاصةimport numpy as npimport pandas as pd
data = { 'x': np.random.randn(100), 'y': np.random.randn(100), 'category': np.random.choice(['A', 'B', 'C'], 100)}df = pd.DataFrame(data)الأنواع الرئيسية للرسوم البيانية في Seaborn
تصور التوزيعات
المدرجات التكرارية والتوزيعات
# طريقة حديثة لإنشاء مدرج تكراريsns.histplot(df["total_bill"], bins=20, kde=True)plt.title("توزيع مبلغ الفاتورة")plt.show()
# رسم بياني للكثافةsns.kdeplot(df["total_bill"], shade=True)plt.show()