از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
طرح پراکندگی Seaborn – آموزش و مثال
سرفصلهای مطلب
معرفی
متولد دریا یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون، به عنوان پسوندی است 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 با 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
، انتقال داده های ما (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