وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

طرح پراکندگی Seaborn – آموزش و مثال

0 13
زمان لازم برای مطالعه: 5 دقیقه


معرفی

متولد دریا یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون، به عنوان پسوندی است Matplotlib. این یک API ساده، بصری و در عین حال بسیار قابل تنظیم برای تجسم داده ها ارائه می دهد.

در این آموزش، روش انجام این کار را بررسی خواهیم کرد طرح یک طرح پراکنده در Seaborn. ما نمودارهای پراکندگی ساده، نمودارهای پراکندگی متعدد با FacetGrid و همچنین نمودارهای پراکندگی سه بعدی را پوشش خواهیم داد.

وارد کردن داده ها

ما استفاده خواهیم کرد شادی جهانی مجموعه داده و مقایسه کنید امتیاز شادی در برابر ویژگی های مختلف برای دیدن اینکه چه چیزی بر شادی درک شده در جهان تأثیر می گذارد:

import pandas as pd

df = pd.read_csv('worldHappiness2016.csv')

طرح یک طرح پراکنده در Seaborn

اکنون، با بارگذاری مجموعه داده، اجازه دهید import PyPlot، که ما از آن استفاده خواهیم کرد نشان می دهد نمودار، و همچنین Seaborn. ما طرح می کنیم امتیاز شادی در برابر کشور اقتصاد (تولید ناخالص داخلی سرانه):

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

df = pd.read_csv('worldHappiness2016.csv')

sns.scatterplot(data = df, x = "Economy (GDP per Capita)", y = "Happiness Score")

plt.show()

Seaborn رسم نمودارهای اساسی مانند نمودارهای پراکنده را بسیار آسان می کند. ما این کار را نمی کنیم نیاز کمانچه زدن با Figure هدف – شی، Axes نمونه ها یا هر چیزی را تنظیم کنیم، اگرچه، اگر بخواهیم می توانیم. در اینجا، ما عرضه کرده ایم df به عنوان data آرگومان، و ویژگی‌هایی را که می‌خواهیم به‌عنوان تجسم کنیم، ارائه کرد x و y استدلال ها

اینها باید با داده های موجود در مجموعه داده مطابقت داشته باشند و برچسب های پیش فرض نام آنها خواهد بود. ما این را در بخش بعدی سفارشی خواهیم کرد.

حال، اگر این کد را اجرا کنیم، با استقبال مواجه می شویم:

آموزش طرح پراکندگی ساده seaborn

در اینجا، یک همبستگی مثبت قوی بین اقتصاد (تولید ناخالص داخلی سرانه) و شادی ادراک شده ساکنان یک کشور/منطقه وجود دارد.

ترسیم پلات های پراکنده چندگانه در Seaborn با FacetGrid

اگر می خواهید بیش از یک متغیر را با متغیر دیگری مقایسه کنید، مانند – میانگین امید به زندگی، همچنین امتیاز شادی در برابر اقتصاد، یا هر گونه تغییری از این، نیازی به ایجاد یک نمودار سه بعدی برای این نیست.

در حالی که نمودارهای دوبعدی که همبستگی بین بیش از دو متغیر را تجسم می کنند وجود دارد، برخی از آنها کاملاً برای مبتدیان مناسب نیستند.

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

بیایید نگاهی به روش انجام این کار بیندازیم:

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

df = pd.read_csv('worldHappiness2016.csv')

grid = sns.FacetGrid(df, col = "Region", hue = "Region", col_wrap=5)
grid.map(sns.scatterplot, "Economy (GDP per Capita)", "Health (Life Expectancy)")

grid.add_legend()

plt.show()

آموزش نمودارهای پراکندگی چندگانه facetgrid seaborn

در اینجا، ما ایجاد کرده ایم FacetGrid، انتقال داده های ما (df) به آن. با مشخص کردن col استدلال به عنوان "Region"ما به Seaborn گفته‌ایم که می‌خواهیم داده‌ها را به مناطق تقسیم کنیم و یک نمودار پراکندگی برای هر منطقه در مجموعه داده رسم کنیم.

ما نیز اختصاص داده ایم hue بستگی داشتن روی منطقه، بنابراین هر منطقه رنگ متفاوتی دارد. در نهایت، ما را تنظیم کرده ایم col_wrap استدلال به 5 به طوری که کل شکل خیلی پهن نباشد – می شکند روی هر 5 ستون در یک ردیف جدید.

به این grid اعتراض، ما map() استدلال های ما بطور مشخص الف را مشخص کردیم sns.scatterplot به عنوان نوع طرح مورد نظر ما، و همچنین x و y متغیرهایی که می خواهیم در این نمودارهای پراکنده رسم کنیم.

این منجر به 10 نمودار پراکندگی مختلف می شود که هر کدام دارای موارد مرتبط هستند x و y داده ها، تفکیک شده بر اساس منطقه

ما همچنین در پایان یک افسانه اضافه کرده ایم تا به شناسایی رنگ ها کمک کند.

طراحی یک طرح پراکندگی سه بعدی در Seaborn

متأسفانه Seaborn با هیچ عملکرد سه بعدی داخلی همراه نیست. این افزونه Matplotlib و Relies است روی آن را برای بلند کردن سنگین در 3D. هرچند، ما می توان طرح سه بعدی Matplotlib را با استفاده از Seaborn سبک کنید.

بیایید سبک را با استفاده از Seaborn تنظیم کنیم و یک نمودار پراکندگی سه بعدی بین شادی، اقتصاد و سلامت را تجسم کنیم:

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from mpl_toolkits.mplot3d import Axes3D

df = pd.read_csv('2016.csv')
sns.set(style = "darkgrid")

fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')

x = df('Happiness Score')
y = df('Economy (GDP per Capita)')
z = df('Health (Life Expectancy)')

ax.set_xlabel("Happiness")
ax.set_ylabel("Economy")
ax.set_zlabel("Health")

ax.scatter(x, y, z)

plt.show()

اجرای این کد منجر به یک تجسم سه بعدی تعاملی می شود که می توانیم آن را در فضای سه بعدی بررسی و بررسی کنیم که به صورت طرح Seaborn شکل می گیرد:

طرح پراکندگی سه بعدی دریا

سفارشی کردن طرح های پراکندگی در Seaborn

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

بیایید برخی از گزینه ها را تغییر دهیم و ببینیم که طرح هنگام تغییر چگونه به نظر می رسد:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

df = pd.read_csv('2016.csv')

sns.scatterplot(data = df, x = "Economy (GDP per Capita)", y = "Happiness Score", hue = "Region", size = "Freedom")

plt.show()

در اینجا، ما را تنظیم کرده ایم hue به Region به این معنی که داده های مناطق مختلف رنگ های متفاوتی خواهند داشت. همچنین، ما تنظیم کرده ایم size متناسب بودن با آزادی ویژگی. هر چه ضریب آزادی بیشتر باشد، نقاط بزرگتر هستند:

سفارشی سازی طرح پراکندگی دریایی

یا می توانید یک اندازه ثابت برای همه نشانگرها و همچنین یک رنگ تنظیم کنید:

sns.scatterplot(data = df, x = "Economy (GDP per Capita)", y = "Happiness Score", hue = "red", size = 5)

نتیجه

در این آموزش، ما چندین روش برای ترسیم نمودار پراکندگی با استفاده از Seaborn و Python را بررسی کرده‌ایم.

اگر به تجسم داده‌ها علاقه دارید و نمی‌دانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:

تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که برای جذب مبتدیان مطلق به پانداها و Matplotlib با دانش پایه پایتون طراحی شده است و به آنها اجازه می دهد تا پایه ای قوی برای کار پیشرفته با این کتابخانه ها ایجاد کنند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.

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

تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را از طریق دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش می‌دهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.

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

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-15 08:39:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید