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

Seaborn قادر به ساخت چه نمودارهایی است؟

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

1. ساخت نمودارهای توزیع شده (Distribution Plots)

 امکان ایجاد نمودارهای توزیع داده را فراهم می‌کند که از آن جمله باید به histogram، kernel density plot و rug plot اشاره کرد. این نمودارها به شما کمک می‌کنند تا توزیع داده‌ها را بررسی کنید و الگوها و مشخصه‌های آن‌ها را مشاهده کنید. نمودارهای توزیع (Distribution Plots) در Seaborn به شما امکان می‌دهند توزیع داده‌ها را به صورت گرافیکی نمایش دهید. این نمودارها به شما کمک می‌کنند تا بفهمید چگونه داده‌ها در مجموعه‌ داده‌هایتان پخش شده‌اند و الگوها و مشخصه‌های آن‌ها را بشناسید. به طور مثال، Histogram یک توزیع فراوانی از یک متغیر را نشان می‌دهد. در این نمودار، محور افقی به محدوده‌ مقادیر متغیر و محور عمودی به فراوانی یا تعداد تکرار آن‌ها اختصاص داده می‌شود. نمودار چگالی هسته‌ای (Kernel Density Plot) تخمینی از توزیع احتمالی متغیر را بر اساس نقاط داده‌ها ارائه می‌دهد. نمودار چگالی هسته‌ای نشان می‌دهد که داده‌ها چگونه در طول مجموعه داده توزیع شده‌اند. همچنین، نمودار Rug Plot به شما اجازه می‌دهد تا موقعیت هر نقطه داده را در محور افقی نشان دهید. این نمودارها معمولا تکمیل‌کننده نمودارهای دیگر هستند. در نهایت نمودار توزیع (Distplot) ترکیبی از histogram و kernel density plot است. این نمودار توزیع فراوانی داده‌ها را به همراه تخمینی از توزیع احتمالی آن‌ها نشان می‌دهد.

2. نمودارهای رابطه‌ای (Relational Plots)

نمودارهای رابطه‌ای (Relational Plots) در Seaborn به شما امکان می‌دهند رابطه‌ها و الگوهای موجود بین دو متغیر را به صورت گرافیکی نمایش دهید. این نمودارها برای بررسی ارتباطات و تغییرات بین داده‌ها مناسب هستند. به طور مثال، نمودار Scatter Plot رابطه بین دو متغیر را با نقاط در یک صفحه نمایش می‌دهد. هر نقطه در این نمودار نشان‌دهنده یک داده است و محور افقی و عمودی به ترتیب به مقادیر یک متغیر اختصاص داده می‌شود. نمودار خطی (Line Plot) تغییرات یک متغیر را در طول زمان یا یک متغیر دیگر را در قالب خطوط نمایش می‌دهد. این نمودار برای نشان دادن تغییرات پیوسته در داده‌ها استفاده می‌شود. نمودار Joint Plot همزمان histogram و scatter plot را نمایش می‌دهد. این نمودار به شما کمک می‌کند تا توزیع دو متغیر را همراه با رابطه بین آن‌ها بررسی کنید. نمودار جفت‌شده  (Pair Plot) تمام جفت‌های متغیرها را به صورت همزمان نمایش می‌دهد. این نمودارها رابطه‌ها و الگوهای موجود بین هر دو متغیر را به صورت یکجا نشان می‌دهند و به شما کمک می‌کنند تا تجزیه و تحلیل چندمتغیره انجام دهید.

3. نمودارهای طبقه‌ای (Categorical Plots)

نمودارهای طبقه‌ای (Categorical Plots) اجازه می‌دهند بررسی و تجزیه و تحلیل داده‌ها در برابر دسته‌بندهای مختلف را به صورت گرافیکی انجام دهید. این نمودارها برای نمایش روابط و تفاوت‌ها بین دسته‌ها و توزیع داده‌ها در هر دسته استفاده می‌شوند. به طور مثال، 1. نمودار میله‌ای  (Bar Plot) داده‌های دسته‌ای را با میله‌های عمودی یا افقی نمایش می‌دهد. این نمودار برای نشان دادن مقادیر متغیرها در هر دسته و مقایسه آن‌ها با یکدیگر مناسب است.

نمودار تعداد  (Count Plot) تعداد مشاهدات در هر دسته را نشان می‌دهد. این نمودار برای بررسی توزیع داده‌ها در دسته‌های مختلف کاربرد دارد. نمودار جعبه‌ای (Box Plot) توزیع داده‌ها در هر دسته را با استفاده از مفاهیمی مانند کوارتیل‌ها، محدوده‌ قابل مشاهده و نقاط پرت نمایش می‌دهد. این نمودار برای بررسی توزیع و تفاوت‌ها در دسته‌ها مناسب است. نمودار ویولن (Violin Plot) توزیع داده‌ها در هر دسته را با استفاده از نمودارهای چگالی و جعبه‌ای نمایش می‌دهد. این نمودار به شما امکان می‌دهد توزیع داده‌ها را در دسته‌ها مقایسه کنید و الگوها و تفاوت‌ها را مشاهده کنید.

4. نمودارهای رنگی (Color-Coded Plots)

در Seaborn، شما می‌توانید با استفاده از نمودارهای رنگی (Color-Coded Plots) اطلاعات را با استفاده از رنگ‌ها نمایش دهید. این نوع از نمودارها برای بررسی الگوها، توزیع‌ها و تفاوت‌ها بین داده‌ها در ارتباط با یک متغیر دیگر مناسب هستند. به طور مثال، نمودار حرارتی (Heatmap) اطلاعات را با استفاده از رنگ‌ها در یک جدول یا ماتریس نمایش می‌دهد. این نمودار برای نشان دادن الگوها، توزیع‌ها و تفاوت‌ها بین داده‌ها در یک ماتریس مناسب است. معمولا از رنگ‌های شی‌دار استفاده می‌شود تا مقادیر بزرگتر با رنگ‌های تیره و مقادیر کوچکتر با رنگ‌های روشن نشان داده شوند.

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

شبکه جفت‌شده  (PairGrid) نمودارهای رنگی را برای تمام جفت‌های ممکن از متغیرها در یک دیتافریم ایجاد می‌کند. این نمودارها اجازه می‌دهند تا الگوها و تفاوت‌ها بین متغیرها را در قالب نمودارهای رنگی مشاهده کنید. FacetGrid امکان ایجاد نمودارهای رنگی بر اساس دسته‌بندی‌های مختلف را فراهم می‌کند. شما می‌توانید داده‌ها را بر اساس یک یا چند متغیر دسته‌بندی شده و نمودارهای رنگی متناسب با هر دسته را مشاهده کنید.

5. نمودارهای رگرسیون (Regression Plots)

نمودارهای رگرسیون (Regression Plots) امکان مصورسازی روابط بین دو متغیر را فراهم می‌کنند و با استفاده از خط رگرسیون، نمایش می‌دهند که چگونه متغیر وابسته تغییر می‌کند به ازای تغییر متغیر مستقل. این نمودارها برای بررسی روابط خطی بین دو متغیر و برآورد مدل رگرسیون مناسب هستند. به طور مثال، با استفاده از lmplot می‌توانید یک نمودار رگرسیون ایجاد کنید و رابطه بین دو متغیر را نمایش دهید. این نمودار شامل نقاط داده، خط رگرسیون و بازه اطمینان خط رگرسیون است. regplot یک نمودار رگرسیون ایجاد می‌کند و رابطه بین دو متغیر را نشان می‌دهد. در این نمودار، شما می‌توانید انواع مدل‌های رگرسیون را اعمال کنید و متغیرهای کنترلی را نیز در نمودار نشان دهید.

residplot  نموداری از باقیمانده‌ها را نشان می‌دهد، که تفاوت بین مقادیر واقعی و پیش‌بینی شده توسط مدل رگرسیون است. این نمودار برای بررسی الگوها و ساختار باقیمانده‌ها و بررسی فرضیه‌های مدل رگرسیون مناسب است. jointplot یک نمودار دومتغیره است که به شما امکان می‌دهد رابطه بین دو متغیر را در قالب نمودار رگرسیون و نمودار توزیع همزمان بررسی کنید.

همچنین، Seaborn دارای قابلیت‌های دیگری نیز است که می‌تواند در تجزیه و تحلیل داده‌ها و تصویرسازی آن‌ها مفید باشد، مانند تنظیم سبک‌ها و ظاهر نمودارها، ترسیم نمودارهای توالی (time series plots)، تجزیه و تحلیل داده‌های پیوسته و دسته‌ای با استفاده از روش‌های آماری پیشرفته، تجزیه و تحلیل داده‌های چندمتغیره (multivariate data analysis) و غیره.

کاربرد pandas در seaborn چیست؟

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

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

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

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

چگونه از seaborn استفاده کنیم؟

برای استفاده از کتابخانه Seaborn در پروژه‌های خود، مراحل زیر را باید دنبال کنید:

1. نصب Seaborn: ابتدا مطمئن شوید که کتابخانه Seaborn روی سیستم شما نصب شده است. می‌توانید از مدیر بسته‌های Python مانند pip استفاده کنید و دستور زیر را در ترمینال یا خط فرمان وارد کنید:

pip install seaborn

2. وارد کردن کتابخانه: پس از نصب، شما باید کتابخانه Seaborn را در پروژه خود وارد کنید. برای این کار، از دستور import استفاده کنید:

import seaborn as sns

3. استفاده از توابع Seaborn: اکنون که کتابخانه Seaborn را وارد کردید، می‌توانید از توابع و قابلیت‌های آن برای مصورسازی داده‌ها استفاده کنید. برای مثال، می‌توانید از تابع sns.scatterplot برای رسم یک نمودار پراکندگی استفاده کنید:

import seaborn as sns

import matplotlib.pyplot as plt

# داده‌ها

x = [1, 2, 3, 4, 5]

y = [2, 4, 6, 8, 10]

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

sns.scatterplot(x=x, y=y)

# نمایش نمودار

plt.show()

چگونه تصویرسازی دومتغیره کمی در seaborn انجام دهیم؟

برای تصویرسازی دو متغیر کمی (عددی) در Seaborn، می‌توانید از توابع مختلفی مانند scatterplot،  jointplot  و  pairplot  استفاده کنید. در ادامه، روش استفاده از هر یک از این توابع را توضیح می‌دهم:

1.  scatterplot: این تابع برای تصویرسازی داده‌های دو متغیر کمی به صورت یک نمودار پراکندگی استفاده می‌شود. می‌توانید از تابع  sns.scatterplot استفاده کنید و دو ستون از یک DataFrame را به عنوان متغیرهای x و y به آن ارسال کنید. مثال زیر را در نظر بگیرید:

import seaborn as sns

# ساخت یک DataFrame به عنوان مثال

data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]})

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

sns.scatterplot(x='x', y='y', data=data)

 

2.  jointplot : این تابع برای تصویرسازی دو متغیر کمی به صورت یک نمودار پراکندگی همراه با توزیع هر متغیر به صورت جداگانه استفاده می‌شود. برای استفاده از  jointplot، می‌توانید از تابع  sns.jointplot استفاده کنید و دو ستون از یک DataFrame را به عنوان متغیرهای x و y به آن ارسال کنید. مثال زیر را در نظر بگیرید:

import seaborn as sns

# ساخت یک DataFrame به عنوان مثال

data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]})

# رسم نمودار پراکندگی همراه با توزیع هر متغیر

sns.jointplot(x='x', y='y', data=data)

 

3.  pairplot : این تابع برای تصویرسازی همزمان تمام جفت‌های متغیرها در یک DataFrame استفاده می‌شود. برای استفاده از  pairplot ، می‌توانید از تابع  sns.pairplot()  استفاده کنید و یک DataFrame را به عنوان ورودی به آن ارسال کنید. مثال زیر را در نظر بگیرید:

import seaborn as sns

# ساخت یک DataFrame به عنوان مثال

data = pd.DataFrame({'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10], 'z': [3, 6, 9, 12, 15]})

# رسم نمودارهای جفتی برای تمام جفت‌های متغیرها

sns.pairplot(data)

 تصویرسازی یک متغیر کمی و یک متغیر دسته بندی‌شده

برای تصویرسازی یک متغیر کمی و یک متغیر دسته‌بندی شده در Seaborn، می‌توانید از توابع مختلفی مانند boxplot،  violinplot  و  barplot  استفاده کنید. در ادامه، روش استفاده از هر یک از این توابع را برای تصویرسازی این دو نوع متغیر توضیح می‌دهم:

1.  boxplot : این تابع برای تصویرسازی توزیع و ویژگی‌های آماری یک متغیر کمی بر اساس گروه‌های یک متغیر دسته‌بندی شده استفاده می‌شود. می‌توانید از تابع  sns.boxplot استفاده کنید و یک ستون از یک DataFrame را به عنوان متغیر کمی و دیگر ستون را به عنوان متغیر دسته‌بندی شده به آن ارسال کنید. مثال زیر را در نظر بگیرید:

import seaborn as sns

# ساخت یک DataFrame به عنوان مثال

data = pd.DataFrame({'Category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], 'Value': [1, 2, 3, 4, 5, 6, 7, 8]})

# رسم نمودار Boxplot

sns.boxplot(x='Category', y='Value', data=data)

 2.  violinplot : این تابع برای تصویرسازی توزیع و چگالی یک متغیر کمی بر اساس گروه‌های یک متغیر دسته‌بندی شده استفاده می‌شود. برای استفاده از  violinplot می‌توانید از تابع sns.violinplot استفاده کنید و یک ستون از یک DataFrame را به عنوان متغیر کمی و دیگر ستون را به عنوان متغیر دسته‌بندی شده به آن ارسال کنید. مثال زیر را در نظر بگیرید:

import seaborn as sns

# ساخت یک DataFrame به عنوان مثال

data = pd.DataFrame({'Category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], 'Value': [1, 2, 3, 4, 5, 6, 7, 8]})

# رسم نمودار Violinplot

sns.violinplot(x='Category', y='Value', data=data)

 3.  barplot : این تابع برای تصویرسازی میانگین یک متغیر کمی بر اساس گروه‌های یک متغیر دسته‌بندی شده استفاده می‌شود. برای استفاده از  barplot می‌توانید از تابع  sns.barplot استفاده کنید و یک ستون از یک DataFrame را به عنوان متغیر کمی و دیگر ستون را به عنوان متغیر دسته‌بندی شده به آن ارسال کنید. مثال زیر را در نظر بگیرید:

import seaborn as sns

# ساخت یک DataFrame به عنوان مثال

data = pd.DataFrame({'Category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], 'Value': [1, 2, 3, 4, 5, 6, 7, 8]})

# رسم نمودار Barplot

sns.barplot(x='Category', y='Value', data=data)

 

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟