Seaborn یکی از کتابخانه‌های پایتون است که برای رسم نمودار‌های آماری به کار برده می‌شود. در هنگام ارائه مطلب یا تحلیل داده‌ها، لازم است داده‌های مورد بحث به شکل مناسب و قابل فهمی نمایش داده شوند. با رسم نمودار می‌توانیم اطلاعات بسیار مختلفی از داده‌ها بدست بیاوریم. کتابخانه Seaborn بر روی Matplotlib ساخته شده و به خوبی با داده‌های کتابخانه پانداس سازگار است. این کتابخانه به توسعه‌دهندگان پایتون کمک می‌کند تا داده‌ها را بهتر تحلیل و درک کنند. کتابخانه Seaborn در پایتون بر روی «دیتافریم‌ها» (Dataframes) و آرایه‌ها کار می‌کند.

فهرست مطالب این نوشته
997696

در این مطلب از مجله فرادرس با کتابخانه Seaborn در پایتون آشنا شده‌ایم. این کتابخانه کارهای مربوط به «نگاشت داده» (Data Mapping) و انجام «محاسبات آماری» (Statistical Calculations) را به صورت خودکار انجام می‌دهد. هر توسعه‌دهنده پایتونی که با داده‌ها کار می‌کند، حتما باید توانایی رسم نمودار و استخراج اطلاعات از نمودار‌ها را نیز داشته باشد. یکی از بهترین ابزارهای این کار، کتابخانه Seaborn است.

Seaborn در پایتون چیست؟

Seaborn یکی از کتابخانه‌های بسیار جالب پایتون برای مصور‌سازی داده‌ها است. این کتابخانه به صورت پیش‌فرض از المان‌های زیبا و پالت‌های رنگی برای رسم نمودارهای آماری جذاب استفاده می‌کند. Seaborn بر اساس کتابخانه Matplotlib طراحی و ساخته شده است.

هدف Seaborn این است که عملیات مصورسازی را به بخش اصلی بررسی و درک داده‌ها تبدیل کند. Seaborn مجموعه‌ بزرگی از ابزارهای قدرتمند برای رسم داده‌ها فراهم کرده است. برای مثال می‌توان به نمودارهای پراکندگی، خطی، نقشه‌های حرارتی و چندین مورد دیگر اشاره کرد. در ادامه همین‌ مطلب، چند مورد از مهم‌ترین و پرکاربرد‌ترین نمودارهای Seaborn را معرفی کرده و روش کار هر کدام را با کمک مثال ساده‌ای بررسی کرده‌ایم.

نصب Seaborn بر روی پایتون

برای نصب Seaborn بر روی پایتون دو روش کلی وجود دارد.

  1. استفاده از pip در پایتون
  2. استفاده از conda

برای نصب Seaborn با کمک دستور pip  باید کد زیر را در ترمینال یا Cmd نوشته و Enter را بزنیم.

pip install seaborn

توسعه‌دهندگانی که در محیط کوندا کار می‌کنند، می‌توانند از دستور زیر استفاده کنند.

conda install seaborn

Seaborn برای کارکردن به چند کتابخانه به عنوان پیش‌نیاز، احتیاج دارد. این کتابخانه‌ها قبل از نصب Seaborn باید بر روی سیستم نصب شوند. در فهرست زیر مهم‌ترین پیش‌نیازهای Seaborn را نام برده‌ایم.

  • پایتون نسخه ۳٫۶ و بالاتر
  • کتابخانه Numpy نسخه ۱.۱۳.۳ و بالاتر
  • کتابخانه Scipy نسخه ۱.۰.۱ و بالاتر
  • کتابخانه Pandas نسخه ۰.۲۲.۰ و بالاتر
  • کتابخانه Matplotlib نسخه ۲.۱.۲ و بالاتر
مستطیل آبی در وسط به ۵ دایره سبز در اطراف متصل شده است.

نکته: بیشتر این کتابخانه‌ها همزمان با نصب Seaborn بر روی سیستم نصب می‌شوند. اما اگر به هر دلیل مشکلی در نصب هر کدام از آن‌ها پیش بیاید، باید به صورت مستقل اقدام به نصب ابزار مورد نیاز بکنیم.

مجموعه داده‌ های نمونه برای تمرین

Seaborn دارای چند مجموعه‌داده «درونی» (Built-In) مختلف است. کاربران برای تمرین مصور‌سازی داده‌ها و تحلیل‌های آماری می‌توانند از این مجموعه‌داده‌ها استفاده کنند. این مجموعه‌داده‌ها در دیتافریم‌های کتابخانه پانداس ذخیره شده‌اند. در نتیجه در زمان رسم نمودار در Seaborn به راحتی می‌توانیم از این داده‌ها نیز استفاده کنیم.

برای حرفه‌ای شدن در کار با دیتافریم‌های پانداس، پیشنهاد می‌کنیم فیلم آموزش رایگان کار با دیتافریم ها در پکیج Pandas را از فرادرس مشاهده کنید. لینک مربوط به این فیلم را در پایین نیز قرار داده‌ایم.

یکی از پُراستفاده‌ترین مجموعه‌داده‌هایی که در تمام مثال‌های رسمی‌ هم به کار برده می‌شود، «مجموعه‌داده انعام» (Tips Dataset) نام دارد. این مجموعه‌داده شامل اطلاعات تمام انعام‌هایی است که درون یک رستوران جمع‌آوری شده‌اند. در کادر پایین مثالی درباره بارگذاری و مصورسازی مجموعه‌داده انعام، پیاده‌سازی کرده‌ایم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود.

نمودار هسیتوگرام به رنگ آبی

نمودار بالا با نام نمودار «هیستوگرام» (Histogram) شناخته می‌شود. در ادامه مطلب این نمودار را با کمک چند مثال، بیشتر توضیح داده‌ایم. نکته مهم این است که بدانیم برای نوشتن کدها و تمرین پیاده‌سازی نمودار‌های مختلف، مجموعه‌ داده‌های زیادی در دسترس کاربران قرار دارند.

در کادر زیر مجموعه‌داده دیگری را برای نمونه بارگذاری کرده و به شکل جدول، رسم کرده‌ایم.

بعد از اجرای کد بالا، خروجی به شکل جدول زیر نمایش داده می‌شود.

جدولی از داده‌های دیتاست exercise

یادگیری استفاده از پایتون برای رسم نمودار با کمک فرادرس

مصورسازی داده‌ها یکی از مهارت‌های کلیدی برای کار در حوزه‌هایی مانند علم داده، تحلیل داده، ارائه مطلب و غیره است. با استفاده از زبان برنامه‌نویسی پایتون، می‌توان داده‌های پیچیده را به نمودارها و تصاویر بصری جذاب و قابل‌ فهم تبدیل کرد. پایتون به لطف کتابخانه‌های قدرتمندی مثل Matplotlib و Seaborn و Plotly، فرایند مصورسازی را ساده‌تر و سریع‌تر کرده است. در نتیجه کاربران می‌توانند با صرف زمان کمتر، خروجی‌های باکیفیت‌تری تولید کنند. بهترین راه برای تسلط بر این مهارت، استفاده از فیلم‌های آموزشی است که هم هزینه‌ها را کاهش می‌دهد و هم یادگیری را به شکلی مؤثر و سریع پیش می‌برد.

مجموعه آموزش مصورسازی داده با پایتون
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش مصورسازی داده با پایتون هدایت شوید.

فرادرس سال‌هاست که مشغول تهیه و انتشار فیلم‌های آموزشی در رشته‌‌های مختلف است. پایتون یکی از محبوب‌ترین زبان‌ها در بین علاقه‌مندان به برنامه نویسی است. اما این زبان شاخه‌های بسیار متنوعی دارد. یکی از شاخه‌های کاربردی و آینده‌‌دار پایتون، حوزه‌های مربوط به تجزیه و تحلیل داده است. برای حرفه‌ای شدن در این حوزه باید بتوانیم داده‌های خود را بر روی نمودارهای مختلف رسم کنیم. به همین دلیل، فرادرس مجموعه آموزشی برای فیلم‌های مربوط به مصور‌سازی داده‌ها با پایتون طراحی کرده است. در پایین چند مورد از فیلم‌های این مجموعه آموزش را معرفی کرده‌ایم.

رایج‌‌ترین اشکال نمودارهای Seaborn

کتابخانه Seaborn انواع مختلفی از نمودارها را پشتیبانی می‌کند. تمام این اشکال برای مصورسازی و بررسی داده‌ها به کار برده می‌‌شوند. به طور کلی می‌توان نمودارها را از جهت شکل به سه دسته زیر تقسیم کرد.

  • «تک‌ متغیره» (Univariate): این نمودارها فقط شامل یک محور – یعنی محور x – برای نمایش اطلاعات هستند.
  • «دو متغیره» (Bivariate): این نمودارها شامل دو محور y و x هستند. اطلاعات را بر روی این محورها نمایش می‌دهند.
  • «سه متغیره» (Trivariate): این نوع نمودار، شامل سه محور – z و y و x – برای نمایش اطلاعات است.

برای کسب مهارت در کار با کتابخانه Seaborn در پایتون، پیشنهاد می‌کنیم که فیلم آموزش تصویرسازی داده های آماری و رسم نمودار در پایتون با کتابخانه Seaborn را از فرادرس مشاهده کنید. به منظور کمک به مخاطبان مجله، لینک این فیلم را در پایین نیز قرار داده‌ایم.

در فهرست زیر، رایج‌‌ترین نمودارهای Seaborn را معرفی کرده‌ایم. این نمودارها معمولا بیشترین استفاده را در بین سایر شکل‌های نمودار دارند.

  • «نمودار پراکندگی» (Scatter Plot): نمودار پراکندگی برای نمایش رابطه بین دو متغیر مختلف به کار برده می‌‌شود. تابع scatterplot()  در کتابخانه Seaborn روش ساده‌ای برای ساخت نمودار‌های خطی فراهم کرده است.
  • «نمودار خطی» (Line Plot): نمودار خطی برای نمایش روش تغییر داده‌ها در طول زمان به کار برده می‌شود. تابع lineplot()  در کتابخانه Seaborn برای رسم این نمودار استفاده می‌شود.
  • هیستوگرام: این نمودار شکل پراکنده شدن مجموعه‌ای از داده‌ها را نشان می‌دهد. در کتابخانه Seaborn برای رسم این نمودار از تابع histplot()  استفاده می‌شود.
  • «نمودار جعبه‌ای» (Box Plot): این نمودار هم برای نمایش توزیع مجموعه‌ای از داده‌ها به کار برده می‌شود. برای رسم این نمودار در کتابخانه Seaborn از تابع boxplot()  استفاده می‌شود.
  • «نمودار ویولن» (Violin Plot): نمودار ویولن هم شبیه به نمودار جعبه‌ای است. اما جزئیات بیشتری از توزیع داده‌ها را نشان می‌دهد. تابع violinplot()  در کتابخانه Seaborn برای رسم این نمودار به کار برده می‌شود.
  • «نمودار نقشه حرارتی» (Heatmap): این نمودار، همبستگی بین متغیرهای مختلف را به تصویر می‌کشد. تابع heatmap()  در کتابخانه Seaborn برای رسم این نمودار به کار برده می‌شود.
  • «نمودار جفتی» (Pairplot): نمودار Pairplot برای به تصویر کشیدن رابطه بین چندین متغیر مختلف به کار برده می‌‌شود. برای رسم این نمودار هم از تابع pairplot() استفاده می‌کنیم.

در بخش بعدی مطلب، برای هر کدام از نمودارهای معرفی شده در بالا، مثالی را همراه با جزئیات پیاده‌سازی کرده‌ایم.

مثالی برای رسم نمودار پراکندگی با Seaborn

نمودار پراکندگی برای مصورسازی رابطه بین دو متغیر مختلف به کار برده می‌شود. هر نقطه‌ای بر روی نمودار، نشان‌دهنده یک داده مشخص است. موقعیت نقطه بر روی محورهای x و y هم نشان‌دهنده مقادیر این دو متغیر است. در واقع نقاط داده‌ با توجه به مقدار متغیرهای x و y ساخته می‌شوند.

نمودار پراکندگی را می‌توانیم با کمک رنگ‌ها و نشانگرهای مختلف، طراحی کنیم. این کار باعث می‌شود به راحتی «نقاط داده» (Data Points) مربوط به دسته‌های مختلف را از یکدیگر تشخیص دهیم. در کتابخانه Seaborn می‌‌توان با استفاده از تابع scatterplot()  نمودار پراکندگی رسم کرد.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود.

رسم نمودار پراکندگی در Seaborn

نمودار بالا نسبت پرداخت انعام به صورت‌حساب رستوران را نشان می‌دهد. محور افقی، مقدار صورت‌حساب و محور عمودی، انعام پرداختی را نمایش می‌دهند.

نمودار بالا را می‌توان باز هم سفارشی‌تر کرد. به این منظور، پارامتر‌های زیر را به کدها اضافه کرده‌ایم.

  • جنسیت: با کلمه کلیدی «hue» برای نشان دادن رنگ
  • تعداد مشتریان: با کلمه کلیدی «size» برای اندازه نقاط

یعنی اینکه ابتدا از کتابخانه Seaborn برای رسم نمودار پراکندگی استفاده می‌کنیم. سپس برای سفارشی‌تر کردن این نمودار، کتابخانه Matplotlib را به محیط کدنویسی وارد کرده و از ویژگی‌های اضافی آن‌ هم استفاده می‌کنیم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود.

رسم نمودار پراکندگی در Seaborn

در این تصویر، تیتر بالای نمودار با استفاده از کد خط شماره ۹ به آن اضافه شده است.

مثالی درباره نمودار خطی Seaborn در پایتون

نمودارهای خطی برای نمایش تغییرات داده‌ها در طول زمان – یا سایر متغیر‌های پیوسته -به کار برده می‌شوند. در نمودارهای خطی، تمام نقاط داده با استفاده از خط به یکدیگر متصل شده‌اند. در نتیجه، منحنی ملایمی ایجاد می‌شود. در کتابخانه Seaborn با استفاده از تابع lineplot()  نمودار خطی ایجاد می‌کنیم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود. برچسب‌ محور‌های نمودار زیر، در خط سوم از کدهای بالا – تابع lineplot()  - مشخص شده‌اند.

تصویر نمودار خطی Seaborn در پایتون

این نمودار را هم می‌توانیم سفارشی‌تر کنیم. به این منظور باید از ستون‌های event  و region  در مجموعه‌داده fmri  استفاده کنیم. توجه کنید که این مجموعه‌داده هم جزو مجموعه‌ داده‌های درونی کتابخانه Seaborn است.

در کادر بالا، کدهای نمودار رسم شده را با کمک کتابخانه Matplotlib سفارشی‌ کردیم. اکنون نمودار به شکل زیر، نمایش داده می‌شود.

تصویر نمودار خطی Seaborn در پایتون

در این بخش‌ هم نمودار خطی ساده‌ای را با کمک Seaborn رسم کرده‌ایم. سپس آن را با کمک کتابخانه Matplotlib تکمیل کردیم. همان‌طور که مشاهده می‌شود، کیفیت نمودار افزایش یافته است.

مثالی برای رسم نمودار هیستوگرام با Seaborn

نمودارهای هیستوگرام روش توزیع متغیر‌های پیوسته را نشان می‌دهند. در نمودار هیستوگرام، گروه‌های داده‌ به شکل ستون‌های مختلفی تقسیم می‌شوند. ارتفاع ستون‌ها تکرار یا تعداد نقاط داده موجود در هر گروه را نشان می‌دهد. در کتابخانه Seaborn با استفاده از تابع histplot()  نمودار هیستوگرام ایجاد می‌کنیم. در صورت نیاز به کسب اطلاعات بیشتر درباره نمودار هیستوگرام، می‌توانید مطلب مربوط به آن را در مجله فرادرس مطالعه کنید.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود. در نمودار پایین که با کمک مجموعه‌داده «زنبق» (Iris) رسم شده، توزیع طول گلبرگ‌های زنبق را بررسی کرده‌ایم.

نمودار هیستوگرام با Seaborn به رنگ آبی

نمودار هیستوگرام را هم می‌توان با کمک کتابخانه Matplotlib سفارشی‌تر کرد.

در خط شماره ۹ کادر بالا، تیتر «Distribution of Petal Lengths in Iris Flowers» را به نمودار اضافه کردیم. این تیتر به معنای «توزیع طول گلبرگ در گل‌های زنبق» است. اکنون نمودار به شکل زیر نمایش داده می‌شود.

نمودار هیستوگرام با Seaborn در پایتون به رنگ سبز

مثالی درباره نمودار جعبه‌ای با Seaborn

نمودارهای جعبه‌ای هم نوعی از مصورسازی داده‌ها هستند. این نمودارها برای نمایش توزیع مقادیر مجموعه‌داده به کار برده می‌شوند. رایج‌ترین استفاده این نمودارها مربوط به مقایسه بین توزیع‌ یک یا چند متغیر در دسته‌بندی‌های مختلف است. در کتابخانه Seaborn با استفاده از تابع boxplot()  نمودار جعبه‌ای ایجاد می‌کنیم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود.

تصویر نمودار جعبه‌ای با Seaborn

در کادر پایین، کیفیت نمودار جعبه‌ای بالا را ارتقا داده‌ایم. برای این کار ستون زمان «time» را از مجموعه‌داده به کدها اضافه کردیم.

این نمودار هم با کمک مجموعه‌داده tips رسم شده است. در نمودار قبلی فقط مبلغ صورت‌حساب‌ها را بر اساس روز‌های هفته داشتیم. اما در این نمودار، زمان‌های نهار و شام را نیز به صورت جداگانه محاسبه کرده‌ایم. در نمودار پایین، صورت‌حساب‌های شام به رنگ زرد و صورت‌حساب‌های نهار به رنگ سبز نمایش داده شدند. در نتیجه می‌‌توانیم اطلاعات خیلی بیشتری از داده‌های جمع‌آوری شده استخراج کنیم.

تصویر نمودار جعبه‌ای با Seaborn

مثالی برای رسم نمودار ویولن با Seaborn

نمودار ویولن نوعی از مصور‌سازی داده‌ها است که جنبه‌های مختلفی از سایر نمودارها را با نمودار جعبه‌ای ترکیب کرده است. این نمودار ارزیابی از چگالی یا پراکندگی داده‌ها را نشان می‌دهد. برای انجام این کار معمولا نمودار ویولن از «تخمین‌گر چگالی کرنل» (Kernel Density Estimator) به شکل منحنی خاصی استفاده می‌کند. این شکل شامل «دامنه میان چارکی» (Interquartile Range | IQR) و مقدار میانه‌ای مانند نمودار جعبه‌ای است.

عرض ویولن تخمینی از چگالی داده‌ها است. در نتیجه بخش‌های پهن‌تر، نشان‌دهنده چگالی بیشتر هستند. مقدار IQR با استفاده از نقطه سفید و مقدار میانه هم با کمکی خطی درون ویولن نمایش داده می‌شود. در کتابخانه seaborn با استفاده از تابع violinplot() نمودار ویولن را ایجاد می‌کنیم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود.

رسم نمودار ویولن با Seaborn

مثالی از رسم نقشه حرارتی با Seaborn

نمودار «نقشه‌ حرارتی» (Heatmap) نمایش گرافیکی از مقادیر متغیرها در فضای دوبعدی ارائه می‌دهد. Heatmap برای ساخت این تصویر گرافیکی از رنگ‌های مختلفی استفاده می‌کند. رایج‌ترین کاربرد نمودار نقشه حرارتی برای نشان دادن همبستگی بین متغیرهای مختلف در مجموعه‌داده است. در کتابخانه seaborn با استفاده از تابع heatmap() نمودار نقشه حرارتی رسم می‌کنیم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود. در این نمودار، میزان همبستگی متغیرهای total_bill  و tip  و size  را می‌توان با توجه به رنگ نمودار، تشخیص داد.

تصویر نمودار نقشه حرارتی با Seaborn در پایتون

مثال دیگری از نمودار نقشه حرارتی را در پایین، رسم کرده‌ایم. در این نمودار از مجموعه‌داده درونی «flights» استفاده کردیم.

در کدهای بالا، ابتدا شکل داده‌ها را با استفاده از متد .pivot()  تغییر دادیم. این کار، داده‌ها را برای تشکیل نقشه حرارتی آماده می‌کند. سپس با استفاده از تابع sns.heatmap()  نقشه حرارتی خود را ایجاد کردیم.

در کدهای بالا، به عنوان آرگومان‌‌های تابع از متغیرهای مجموعه‌داده «flights» استفاده کرده‌ایم. این متغیرها قبلا توسط متد .pivot()  تغییر کرده بودند. بعد از اجرای کد بالا، نمودار نقشه حرارتی به شکل نمودار زیر، ساخته شده و نمایش داده می‌شود.

تصویر نمودار نقشه حرارتی با Seaborn در پایتون

مثال رسم نمودار جفتی با Seaborn

«نمودار جفتی» (Pair Plot) به نوعی از مصور‌سازی داده‌ها گفته می‌شود که چندین نمودار پراکندگی را به صورت دوبه‌دو در کنار هم و در ساختار شبکه‌ای قرار می‌دهد. هر نمودار پراکندگی برای مقایسه و نمایش رابطه بین دو دسته از اطلاعات به کار برده می‌شود. «نمودارهای قطری» (Diagonal Plots) توزیع هر کدام از متغیرها را به صورت مجزا نشان می‌دهند. در کتابخانه seaborn می‌توانیم با استفاده از تابع pairplot()، نمودار جفتی ایجاد کنیم.

بعد از اجرای کد بالا، خروجی به شکل نمودار زیر نمایش داده می‌شود.

رسم رسم نمودار جفتی با Seaborn

اکنون با استفاده از پارامترهای hue  و diag_kind  ظاهر دقیق‌تر و زیبا‌تری به کدهای نوشته شده می‌دهیم.

همین‌طور که مشاهده می‌شود، در کدها بالا برای بهتر کردن ظاهر نمودار از کتابخانه matplotlib استفاده کرده‌ایم. بعد از اجرای این کدها، خروجی به شکل زیر نمایش داده می‌شود.

نتیجه زیباسازی رسم رسم نمودار جفتی با Seaborn

چگونه با کمک فرادرس استفاده از پایتون را در علم داده یاد بگیریم؟

فرادرس برای آموزش علم داده با کمک پایتون، فیلم‌های بسیار خوبی طراحی و منتشر کرده است. زیرا پایتون به یکی از قدرتمندترین زبان‌ها در حوزه علم داده تبدیل شده است. استفاده از ابزارهای زبان پایتون نه تنها سرعت پردازش و تحلیل را بالا می‌برد، بلکه به کاهش پیچیدگی‌ها و هزینه‌های پروژه‌ نیز کمک می‌کند. استفاده از فیلم‌های آموزشی و باکیفیت فرادرس هم مقرون‌به‌صرفه است و هم یادگیری را سریع‌تر و عمیق‌تر می‌کند. در فهرست زیر، چند مورد از فیلم‌های مربوط به آموزش علم داده در پایتون را معرفی کرده‌ایم.

برای بررسی سایر فیلم‌های این مجموعه آموزش، بر روی تصویر زیر کلیک کنید.

مجموعه آموزش پایتون برای علم داده – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش پایتون برای علم داده، دوره‌های مقدماتی تا پیشرفته، هدایت شوید.

مقایسه Seaborn با سایر کتابخانه‌های رسم نمودار

در زبان برنامه نویسی پایتون چند کتابخانه مختلف برای رسم نمودار طراحی شده‌اند. در این بخش از مطلب کتابخانه Seaborn را با ۳ مورد از مشهور‌ترین همتایانش مقایسه کرده‌ایم. این کتابخانه‌ها Matplotlib و Pandas و Plotly هستند.

مقایسه Matplotlib با Seaborn در پایتون

کتابخانه Seaborn بر روی Matplotlib ساخته شده است. این کتابخانه برای ساخت تصاویر آماری از رابط کاربری سطح بالاتری استفاده می‌کند. در حالی که Matplotlib کتابخانه‌ای با هدف رسم نمودار به صورت عمومی است. اما Seaborn به طور خاص برای مصورسازی داده‌های آماری طراحی شده است.

Seaborn چندین برتری نسبت به Matplotlib دارد. برای مثال می‌توان به موارد فهرست زیر اشاره کرد.

  • سینتکس ساده‌تر برای طراحی نمودارهای پیچیده
  • پشتیبانی درونی از «مصور‌سازی‌های آماری» (Statistical Visualizations)
  • جذابیت نمودارهای رسم شده به صورت پیش‌فرض

البته باید توجه کنیم که ظاهر زیبای نمودارهای این کتابخانه را به سادگی می‌توان سفارشی‌تر هم کرد. علاوه بر موارد بالا، Seaborn چندین نوع نمودار خاص را هم پشتیبانی می‌کند. نمودارهایی که در Matplotlib در دسترس نیستند. به‌عنوان نمونه می‌توان به نمودار‌های «ازدحام» (Swarm) و ویولن اشاره کرد.

مقایسه Pandas با Seaborn در پایتون

Pandas یکی از کتابخانه‌های قدرتمند پایتون برای کار با داده‌ها است. این کتابخانه توابع بسیار زیادی برای کار بر روی داده‌های ساختاریافته دارد. البته Pandas قابلیت‌های ساده‌ای برای رسم نمودار نیز دارد. برای انجام این کار باید از متد DataFrame.plot() استفاده کنیم. Seaborn توانایی مصور‌سازی بسیار پیشرفته‌تری نسبت به Pandas دارد. زیرا این کتابخانه به طور خاص برای کار با داده‌های آماری طراحی شده است.

توابع Seaborn به شکلی طراحی شده‌اند که به‌خوبی با ساختارهای داده‌ Pandas کار کنند. در نتیجه با کمک دیتافریم‌های Pandas به سادگی می‌توانیم نمودارهای مختلفی ایجاد کنیم. Seaborn نمودارهای مخصوصی مانند «شبکه‌های وجهی» (Facet Grids) و نمودارهای جفتی دارد. چنین نمودارهایی در Pandas وجود ندارند.

مقایسه Plotly با Seaborn در پایتون

Plotly کتابخانه‌ای است که برای رسم نمودار بر روی اینترنت کار می‌کند. این کتابخانه به کاربران کمک می‌کند نمودارهای جذابی تهیه کنند. افراد می‌توانند نمودارهای خود را با دیگران به اشتراک گذاشته یا باهم بر روی آن‌ها کار کنند.

Seaborn داده‌ها را به تصویر می‌کشد. اما این تصاویر را نمی‌توان جابه‌جا کرد یا تغییر داد. Plotly نمودارهایی پویا و تعاملی می‌سازد. یعنی اینکه مردم با کلیک کردن بر روی بخش‌های مختلف نمودار می‌توانند اطلاعات آن را تغییر داده یا بررسی کنند. این نمودارها را می‌توان در وب اپلیکیشن‌ها استفاده کرد. همچنین می‌توانیم نمودارهای Plotly را به صورت آنلاین با دیگران به اشتراک بگذاریم. Plotly نمودارهای خاصی را ارائه می‌دهد که در کتابخانه Seaborn موجود نیستند. برای مثال می‌‌توان به «نمودارهای کانتور» (Contour Plots) و نمودارهای سه‌بعدی اشاره کرد.

البته Seaborn سینتکس مشابهی داشته و کاربری ساده‌تری دارد. همچنین، سفارشی‌سازی نمودار‌های آماری در Seaborn راحت‌تر است. در نتیجه برای انجام بعضی از پروژه‌ها کتابخانه Seaborn انتخاب بهتری است.

جمع‌بندی

Seaborn یکی از کتابخانه‌های قدرتمند پایتون برای رسم نمودارها است. استفاده از این کتابخانه بسیار ساده‌ است. نمودارهای Seaborn داده‌ها را به شکل واضح نمایش می‌دهند. Seaborn از نمودارهای متنوعی پشتیبانی می‌کند. برای نمونه می‌توان از نمودارهای پراکندگی، نمودارهای خطی، نقشه‌های حرارتی و نمودارهای شبکه‌ای نام برد. در ضمن این کتابخانه به شکل بسیار هماهنگی با کتابخانه‌های Pandas و Numpy کار می‌کند. این مسئله باعث شده که به یکی از بهترین ابزارهای کار دانشمندان و تحلیل‌گران داده تبدیل شود.

در این مطلب از مجله فرادرس، آشنایی اولیه‌ای با کتابخانه Seaborn برای مخاطبان خود فراهم کرده‌ایم. با کمک کدهای نوشته شده اکنون به سادگی می‌توانیم نمودارهای خود را بر اساس مجموعه‌داده‌‌های مختلف رسم کنیم. برای ورودی به دنیای تحلیل داده لازم است با ابزارهای تخصصی این حوزه آشنا شویم. کتابخانه Seaborn هم یکی از بهترین ابزارهای تحلیل داده است.

source

توسط expressjs.ir