Seaborn کتابخانهای برای ایجاد گرافیکهای آماری در پایتون است. این کتابخانه بر مبنای matplotlib ساخته شده و با ساختار داده درPandas ادغام شده است.
برخی از کاربردهای seaborn عبارتند از:انتزاعات سطح بالا برای ساختار شبکههای چند نموداری که به شما امکان ساخت تجسمهای پیچیدهتر را میدهد. کنترل مختصر روی اشکال matplotlib با چندین تم از پیش ساخته شده ابزاری برای انتخاب پالتهای رنگی که الگوهای موجود در دادههای شما را نشان میدهند.
هدف seaborn این است که تجسمسازی را به بخش اصلی کاوش و درک داده تبدیل کند. توابع نموداری مبتنی بر مجموعه داده بر روی دیتافریمها و آرایههای حاوی مجموعه دادهها کار میکنند و به صورت داخلی نگاشت معنایی مورد نیاز و جمعآوری آماری را برای تولید نمودارهای دارای بار اطلاعاتی مفید انجام میدهد.
تفاوت میان matplotlib و seaborn
در این قسمت این دو کتابخانه را با هم از نظر چند معیار بررسی میکنیم:
کارکرد:
matplotlib به طور عمده برای ترسیمات پایهای گسترش یافته است. مجسمسازی داده به طور عمده شامل نمودار میلهای، دایرهای، خطی، نمودارهای نقطهای یا پراکنده و غیره میباشد.
seaborn از طرف دیگر الگوهای مختلفی از تجسمسازی را ارائه می دهد. این کتابخانه از قواعد دستوری کمتری استفاده میکند و تمهای از پیش تعریف شده جالبی دارد.
در تجسمسازی آماری بسیار متخصص است و در تجسمسازی دادههای خلاصه و توزیع آماری دادهها به کار میرود.
کنترل اشکال چندگانه:
matplotlib فیگورهای چندگانه را میتواند باز کند اما باید به طور صریح بسته شوند. تابع plt.close تنها فیگور فعلی را میبندد و plt.close('all') تمامی شکلها را میبندد.
seabornایجاد اشکال چندگانه را به طور اتوماتیک ممکن میسازد ولی گاهی مشکلات ظرفیت حافظه ممکن است ایجاد شود.
تجسمسازی:
Matplotlib یک پکیج گرافیکی برای تجسمسازی داده در پایتون است. به خوبی با NumPy و Pandas تجمیع شده است. ماژول pyplot دستورات ترسیم MATLAB را منعکس میکند. از این رو کاربران متلب به راحتی در پایتون میتوانند ترسیم داده بکنند.
Seaborn بیشتر با دیتافریمهای پانداس تجمیع شده است. کتابخانه های matplotlib را برای ایجاد گرافیکهای زیبا در پایتون با استفاده از متدهایی گسترش میدهد.
دیتافریمها و آرایهها:
Matplotlib با دیتافریمها و آرایهها کار میکند. APIهای متفاوتی برای ترسیم دارد. شکلها توسط آبجکت هایی نمایش داده میشوند و تابع plot مشابه فراخوانیهای بدون پارامتر است و نیاز به مدیریت پارامتر نیست.
Seaborn با مجموعه داده کار می کند و نسبت به matplotlib بسیار بصریتر است.
در seaborn تابع replot برای مشخص کردن نوع نمودار ترسیمی مقدار پارامتر kind را مقداردهی میکند که مقدار این پارامتر میتواند بیانگر نوع خط، نمودار میلهای، هیستوگرام و... یا هر نوع دیگری از نمودارها باشد.
Seaborn برخلاف matplotlib حالتمند یا statefull نیست. از این رو تابع plot در آن نیاز به ارسال آبجکت دارد.
انعطافپذیری:
Matplotlib بسیار قابل تنظیم و قدرتمند است.
Seaborn تمهای از پیش آماده شده زیادی برای استفاده دارد.
موارد استفاده:
Pandas از matplotlib استفاده میکند Seaborn برای موارد مورد استفاده خاصتری به کار میرود. تحت matplotlib است و بیشتر برای نمایش موارد آماری به کار میرود.