از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
طرح نوار Seaborn – آموزش و مثال
سرفصلهای مطلب
معرفی
متولد دریا یکی از پرکاربردترین کتابخانه های تجسم داده در پایتون، به عنوان پسوندی است Matplotlib. این یک API ساده، بصری و در عین حال بسیار قابل تنظیم برای تجسم داده ها ارائه می دهد.
در این آموزش، روش انجام این کار را بررسی خواهیم کرد طرح یک نوار در Seaborn.
نمودارهای میله ای مقادیر عددی را نمایش می دهند روی یک محور و متغیرهای طبقه بندی روی از سوی دیگر، به شما امکان می دهد ببینید که چند مورد برای دسته های مختلف وجود دارد.
نمودارهای میله ای را می توان برای تجسم یک سری زمانی و همچنین داده های طبقه بندی استفاده کرد.
طرح یک بار در Seaborn
طراحی یک بار پلات در Seaborn به آسانی فراخوانی است barplot()
تابع روی را sns
به عنوان مثال، و عبور از متغیرهای طبقهبندی و پیوسته که میخواهیم تجسم کنیم:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
x = ('A', 'B', 'C')
y = (1, 5, 3)
sns.barplot(x, y)
plt.show()
در اینجا، ما چند متغیر طبقه بندی شده در یک لیست داریم – A
، B
و C
. ما همچنین چند متغیر پیوسته را در لیست دیگری داریم – 1
، 5
و 3
. سپس رابطه بین این دو در یک Bar Plot با ارسال این دو لیست به تصویر کشیده می شود sns.barplot()
.
این منجر به یک نمودار میله ای تمیز و ساده می شود:
اگرچه، بیشتر اوقات، شما با مجموعه داده هایی کار می کنید که حاوی داده های بسیار بیشتر از این هستند. گاهی اوقات، عملیاتی برای این داده ها اعمال می شود، مانند محدوده یا شمارش رخدادهای خاص.
هر زمان که با ابزارهای داده سر و کار دارید، با مقداری خطای padding مواجه خواهید شد که ممکن است از آن ناشی شود. خوشبختانه، Seaborn ما را تحت پوشش قرار داده است، و اعمال می کند نوارهای خطا برای ما به طور خودکار، همانطور که به طور پیش فرض محاسبه می کند منظور داشتن از داده هایی که ارائه می کنیم
اجازه دهید import کلاسیک مجموعه داده تایتانیک و یک Bar Plot را با داده ها از آنجا تجسم کنید:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "sex", y = "survived", data = titanic_dataset)
plt.show()
این بار، ما تعیین کرده ایم x
و y
به sex
و survived
ستون های مجموعه داده، به جای لیست های سخت کد شده.
اگر ما print سر مجموعه داده:
print(titanic_dataset.head())
به ما خوش آمد می گوید:
survived pclass sex age sibsp parch fare ...
0 0 3 male 22.0 1 0 7.2500 ...
1 1 1 female 38.0 1 0 71.2833 ...
2 1 3 female 26.0 0 0 7.9250 ...
3 1 1 female 35.0 1 0 53.1000 ...
4 0 3 male 35.0 0 0 8.0500 ...
(5 rows x 15 columns)
هنگام تخصیص، مطمئن شوید که نام این ویژگی ها را مطابقت داده اید x
و y
متغیرها
در نهایت از data
آرگومان و پاس در مجموعه داده ای که با آن کار می کنیم و ویژگی ها از آن استخراج می شوند. این نتیجه در:
طرح یک قطعه نوار افقی در Seaborn
برای ترسیم یک نوار پلات به صورت افقی، به جای عمودی، می توانیم به سادگی مکان های آن را تغییر دهیم x
و y
متغیرها
این باعث می شود که متغیر طبقه بندی رسم شود روی محور Y، که منجر به یک نمودار افقی می شود:
import matplotlib.pyplot as plt
import seaborn as sns
x = ('A', 'B', 'C')
y = (1, 5, 3)
sns.barplot(y, x)
plt.show()
این نتیجه در:
اگر به مثال تایتانیک برگردیم، این کار به همین روش انجام می شود:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "survived", y = "class", data = titanic_dataset)
plt.show()
که منجر به:
تغییر رنگ طرح نوار در Seaborn
تغییر رنگ میله ها نسبتاً آسان است. این color
آرگومان یک رنگ Matplotlib را می پذیرد و آن را برای همه عناصر اعمال می کند.
بیایید آنها را تغییر دهیم blue
:
import matplotlib.pyplot as plt
import seaborn as sns
x = ('A', 'B', 'C')
y = (1, 5, 3)
sns.barplot(x, y, color='blue')
plt.show()
این نتیجه در:
یا، بهتر است، شما می توانید تنظیم کنید palette
استدلال، که می پذیرد طیف گسترده ای از پالت ها. یک مورد بسیار رایج است hls
:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "embark_town", y = "survived", palette = 'hls', data = titanic_dataset)
plt.show()
این نتیجه در:
طرح نوار گروه بندی شده در Seaborn
گروه بندی میله ها در قطعه ها یک عملیات رایج است. فرض کنید میخواهید برخی از دادههای رایج مانند میزان بقای مسافران را مقایسه کنید، اما میخواهید آنها را با معیارهایی گروهبندی کنید.
ما ممکن است بخواهیم رابطه مسافرانی را که زنده مانده اند و به طبقات (اول، دوم و سوم) جدا شده اند، تجسم کنیم، اما همچنین عاملی را در نظر بگیریم که از کدام شهر سوار شده اند.
این مقدار کمی از اطلاعات در یک طرح است، و به راحتی می توان همه آنها را در یک نوار ساده قرار داد.
برای گروه بندی نوارها با هم، از hue
بحث و جدل. از نظر فنی، همانطور که از نام آن پیداست، hue
استدلال به Seaborn می گوید که چگونه میله ها را رنگ آمیزی کند، اما در رنگ آمیزی process، داده های مرتبط را با هم گروه بندی می کند.
بیایید نگاهی به مثالی بیندازیم که در مورد آن بحث کردیم:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "embark_town", data = titanic_dataset)
plt.show()
این نتیجه در:
اکنون، نوارهای خطا برای کوئینستون داده ها بسیار بزرگ هستند این نشان می دهد که داده ها روی مسافرانی که زنده ماندند و از آنجا سوار شدند کوئینستون برای کلاس اول و دوم بسیار متفاوت است.
سفارش میله های گروه بندی شده در یک قطعه بار با Seaborn
میتوانید ترتیب نوارها را از ترتیب پیشفرض (هر آنچه Seaborn فکر میکند منطقیتر است) را به چیزی که میخواهید برجسته یا کاوش کنید تغییر دهید.
این کار از طریق order
آرگومان، که لیستی از مقادیر و ترتیبی که می خواهید آنها را در آن قرار دهید را می پذیرد.
مثلا تا الان کلاس ها را از اول تا سوم سفارش می داد. اگر بخواهیم برعکس این کار را انجام دهیم چه؟
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "embark_town", order = ("Third", "Second", "First"), data = titanic_dataset)
plt.show()
اجرای این کد نتیجه می دهد:
فاصله اطمینان را تغییر دهید روی طرح نوار دریای
همچنین میتوانید به راحتی با تنظیم فاصله اطمینان را بررسی کنید ci
بحث و جدل.
برای مثال، می توانید با تنظیم آن، آن را خاموش کنید None
، یا از انحراف استاندارد به جای میانگین با تنظیم استفاده کنید sd
، یا حتی یک اندازه درپوش قرار دهید روی نوارهای خطا برای اهداف زیبایی شناختی با تنظیم capsize
.
بیایید کمی با ویژگی فاصله اطمینان بازی کنیم:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "embark_town", ci = None, data = titanic_dataset)
plt.show()
اکنون نوارهای خطای قبلی ما را حذف می کند:
یا، میتوانیم از انحراف استاندارد برای نوارهای خطا استفاده کنیم و اندازه سرپوش را تعیین کنیم:
import matplotlib.pyplot as plt
import seaborn as sns
titanic_dataset = sns.load_dataset("titanic")
sns.barplot(x = "class", y = "survived", hue = "who", ci = "sd", capsize = 0.1, data = titanic_dataset)
plt.show()
نتیجه
در این آموزش، ما چندین روش را برای ترسیم یک نوار با استفاده از Seaborn و Python بررسی کردهایم. ما با طرحهای ساده و نمودارهای افقی شروع کردهایم و سپس به سفارشیسازی آنها ادامه دادیم.
ما روش تغییر رنگ میله ها، گروه بندی آنها را با هم، ترتیب آنها و تغییر فاصله اطمینان را توضیح داده ایم.
اگر به تجسم دادهها علاقه دارید و نمیدانید از کجا شروع کنید، حتماً ما را بررسی کنید بسته کتاب روی تجسم داده ها در پایتون:
تجسم داده ها در پایتون با Matplotlib و Pandas کتابی است که طراحی شده است تا مبتدیان مطلق را با دانش پایه پایتون به Pandas و Matplotlib ببرد و به آنها اجازه دهد پایه ای قوی برای کار پیشرفته با این کتابخانه ها بسازند – از طرح های ساده گرفته تا طرح های سه بعدی متحرک با دکمه های تعاملی.
این به عنوان یک راهنمای عمیق عمل می کند که همه چیزهایی را که باید در مورد پانداها و Matplotlib بدانید، از جمله روش ساخت انواع طرح هایی که در خود کتابخانه تعبیه نشده اند را به شما آموزش می دهد.
تجسم داده ها در پایتون، کتابی برای توسعه دهندگان پایتون مبتدی تا متوسط، شما را در دستکاری ساده داده ها با پانداها راهنمایی می کند، کتابخانه های ترسیم هسته ای مانند Matplotlib و Seaborn را پوشش می دهد و به شما نشان می دهد که چگونه از کتابخانه های اعلامی و تجربی مانند Altair استفاده کنید. به طور خاص، در طول ۱۱ فصل، این کتاب ۹ کتابخانه پایتون را پوشش میدهد: Pandas، Matplotlib، Seaborn، Bokeh، Altair، Plotly، GGPlot، GeoPandas و VisPy.
این به عنوان یک راهنمای عملی و منحصر به فرد برای تجسم داده ها، در مجموعه ای از ابزارهایی که ممکن است در حرفه خود استفاده کنید، عمل می کند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-14 05:41:04