Python je zásobárnou mnoha nesmírně výkonných knihoven a frameworků. Mezi nimi je Seaborn, což je dominantní vizualizace dat knihovna, což programátorům poskytuje další důvod k dokončení . V tomto výukovém programu pro Python Seaborn se budete opírat o všechny možnosti vizualizace dat pomocí programu Seaborn.
Než budeme pokračovat, podívejme se na všechna témata diskuse v tomto článku:
- Proč používat Seaborn?
- Jak nainstalovat Seaborn?
- Instalace závislostí Python Seaborn
- Funkce Seaborn Plotting
- Multi-plot mřížky
- Estetika spiknutí
Začněme nejprve vysvětlením důležitosti Pythona Seaborna.
Proč používat Python Seaborn?
Jak již bylo zmíněno dříve, knihovna Python Seaborn se používá k usnadnění náročného úkolu vizualizace dat a je na něm založena . Seaborn umožňuje vytváření statistické grafiky prostřednictvím následujících funkcí:
API, které je založeno na datových sadách umožňujících porovnání mezi více proměnné
Podporuje víceplotové mřížky, které zase usnadňují vytváření složitých vizualizací
Univariate a bivariate vizualizace k dispozici pro porovnání mezi podmnožinami dat
Dostupnost různých barevných palet pro odhalení různých druhů vzorů
Odhady a grafy automaticky
Pokud vás tedy zajímalo, proč používat Seaborn, když už máte Matplotlib, tady je odpověď.
Python Seaborn vs Matplotlib:
„Pokud se Matplotlib„ snaží usnadnit jednoduché věci a je možné dosáhnout tvrdých věcí “, snaží se seaborn udělat dobře definovanou sadu tvrdých věcí také“ - Michael Waskom (tvůrce Seaborn).
Matplotlib je ve skutečnosti dobrý, ale Seaborn je lepší. V zásadě existují dva nedostatky Matplotlibu, které Seaborn opravuje:
Matplotlib lze přizpůsobit, ale je těžké přijít na to, jaká nastavení jsou nutná pro zatraktivnění grafů. Na druhou stranu Seaborn přichází s mnoha přizpůsobenými tématy a rozhraními na vysoké úrovni, aby tento problém vyřešil.
Při práci s Pandy „Matplotlib neslouží dobře, pokud jde o práci s DataFrames, zatímco funkce Seaborn ve skutečnosti fungují na DataFrames.
Jak nainstalovat Seaborn?
Chcete-li nainstalovat knihovnu Python Seaborn, můžete použít následující příkazy založené na platformě, kterou používáte:
pip nainstalujte seaborn
nebo
Conda nainstalovat Seaborn
Jakmile je tato instalace nainstalována, ujistěte se, že jste nainstalovali balíčky a knihovny, na kterých je Seaborn závislý.
Instalace závislostí Pythonu Seaborn:
Povinné závislosti pro Seaborn jsou:
Existuje také jedna doporučená závislost, která je:
- státní modely
Chcete-li nainstalovat tyto knihovny, můžete použít stejné příkazy, jaké byly dříve zobrazeny pro Seaborn s příslušnými názvy. Po instalaci je lze snadno importovat. Seaborn vám umožňuje načíst jakýkoli soubor dat z za použití load_dataset () funkce. Můžete také zobrazit všechny dostupné datové sady pomocí funkce get_dataset_names () takto:
PŘÍKLAD:
importovat seaborn jako sns sns.get_dataset_names ()
Tím se vrátí seznam všech dostupných datových sad.
Nyní, když jste nastavili prostředí pro práci s Seaborn, pojďme dále, abychom zjistili, jak používat jeho funkce vykreslování v .
Funkce Seaborn Plotting
Vizualizace statistických vztahů:
Proces porozumění vztahů mezi proměnnými datové sady a toho, jak tyto vztahy zase závisí na jiných proměnných, se nazývá statistická analýza. Pojďme se nyní podrobněji podívat na funkce potřebné pro toto:
relplot ():
Toto je funkce na úrovni postavy, která pro vizualizaci statistických vztahů využívá dvě další funkce os:
- bodový diagram()
- lineplot ()
Tyto funkce lze specifikovat pomocí parametru ‘kind’ (druh) funkce relplot (). V případě, že je zadán tento parametr, bude použit výchozí parametr scatterplot (). Než začnete psát svůj kód, nezapomeňte importovat požadované knihovny následujícím způsobem:
import numpy jako np import pand jako pd import matplotlib.pyplot jako plt import Seaborn jako sns sns.set (style = 'darkgrid')
Pamatujte, že atribut style je také přizpůsobitelný a může mít jakoukoli hodnotu, jako je darkgrid, ticks atd., O kterých budu diskutovat později v sekci plot-estetika. Pojďme se nyní podívat na malý příklad:
PŘÍKLAD:
f = sns.load_dataset ('lety') sns.relplot (x = 'cestující', y = 'měsíc', data = f)
VÝSTUP:
Jak vidíte, body jsou vykresleny ve 2-rozměrech. Můžete však přidat další dimenzi pomocí sémantiky „odstín“. Podívejme se na příklad toho samého:
PŘÍKLAD:
jak zvýšit na sílu v Javě
f = sns.load_dataset ('lety') sns.relplot (x = 'cestující', y = 'měsíc', odstín = 'rok', data = f)
Uvidíte následující výstup:
VÝSTUP:
Existuje však mnohem více přizpůsobení, které můžete vyzkoušet, například barvy, styly, velikost atd. Dovolte mi jen ukázat, jak můžete změnit barvu v následujícím příkladu:
PŘÍKLAD:
sns.set (style = 'darkgrid') f = sns.load_dataset ('lety') sns.relplot (x = 'cestující', y = 'měsíc', odstín = 'rok', paleta = 'ch: r = - 0,5, l = 0,75 ', data = f)
VÝSTUP:
lineplot ():
Tato funkce vám umožní nakreslit souvislou čáru pro vaše data. Tuto funkci můžete použít změnou parametru „kind“ následujícím způsobem:
PŘÍKLAD:
a = pd.DataFrame ({'Day': [1,2,3,4,5,6,7], 'Grocery': [30,80,45,23,51,46,76], 'Oblečení' : [13,40,34,23,54,67,98], 'Nádobí': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Den', y = 'Oblečení', druh = 'linka', data = a) g.fig.autofmt_xdate ()
VÝSTUP:
Výchozí hodnota pro lineplot je y jako funkce x. Lze jej však změnit, pokud si to přejete. Existuje mnoho dalších možností, které můžete dále vyzkoušet.
Nyní se podívejme na to, jak vykreslit kategorická data.
Vynesení s kategorickými daty:
Tento přístup přichází do obrazu, když je naše hlavní proměnná dále rozdělena do diskrétních skupin (kategorických). Toho lze dosáhnout pomocí funkce catplot ().
catplot ():
Toto je funkce na úrovni postavy jako relplot (). Lze jej charakterizovat třemi rodinami funkcí na úrovni os, a to:
Scatterplots - Patří mezi ně stripplot (), swarmplot ()
Distribuční grafy - které jsou boxplot (), violinplot (), boxenplot ()
Estimateplots - jmenovitě pointplot (), barplot (), countplot ()
Nyní si ukážeme několik příkladů:
PŘÍKLAD:
importovat seaborn jako sns import matplotlib.pyplot jako plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', data = a)
VÝSTUP:
Jak vidíte, ve výše uvedeném příkladu jsem nenastavil parametr ‚kind '. Proto vrátil graf jako výchozí bodový graf. Můžete určit libovolnou funkci na úrovni os a graf podle potřeby změnit. Uveďme si také příklad:
PŘÍKLAD:
importovat seaborn jako sns import matplotlib.pyplot jako plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', kind = 'housle', data = a)
VÝSTUP:
Výše uvedený výstup ukazuje houslový graf pro datovou sadu tipů. Nyní se pokusme zjistit, jak vizualizovat distribuci datové sady.
Vizualizace distribuce datové sady:
Toto se v zásadě zabývá porozuměním datovým souborům s kontextem, že jsou univariate nebo bivariate. Než začnete, jednoduše importujte následující:
import numpy jako np import pand jako pd import seaborn jako sns import matplotlib.pyplot jako plt ze scipy import statistiky sns.set (color_codes = True)
Jakmile to provedete, můžete pokračovat v vykreslování univariate a bivariate distribucí.
Vytváření jednorozměrných distribucí:
K jejich vykreslení můžete použít funkci distplot () následujícím způsobem:
PŘÍKLAD:
a = np.random.normal (loc = 5, size = 100, scale = 2) sns.distplot (a)
VÝSTUP:
Jak vidíte ve výše uvedeném příkladu, vykreslili jsme graf pro proměnnou a, jejíž hodnoty jsou generovány funkcí normal () pomocí distplot.
Vynesení dvojrozměrných distribucí:
To se projeví, když máte dvě náhodné nezávislé proměnné, které vedou k nějaké pravděpodobné události. Nejlepší funkcí pro vykreslení těchto typů grafů je jointplot (). Pojďme nyní vykreslit dvojrozměrný graf pomocí jointplot ().
PŘÍKLAD:
x = pd.DataFrame ({'Day': [1,2,3,4,5,6,7], 'Grocery': [30,80,45,23,51,46,76], 'Oblečení' : [13,40,34,23,54,67,98], 'Nádobí': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({'Day': [8,9,10,11,12,13,14], 'Potraviny': [30,80,45,23,51,46, 76], „Oděvy“: [13,40,34,23,54,67,98], „Potřeby“: [12,32,27,56,87,54,34]}, index = [8,9 , 10,11,12,13,14]) průměr, cov = [0, 1], [(1, 0,5), (, 5, 1)] data = np.random.multivariate_normal (průměr, cov, 200 ) s sns.axes_style ('white'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')
VÝSTUP:
Nyní, když jste porozuměli různým funkcím v Pythonu Seabornovi, pojďme k vytvoření strukturovaných víceplotových mřížek.
Multi-Plot Grids:
Python Seaborn vám umožňuje vykreslit více mřížek vedle sebe. Jedná se v zásadě o grafy nebo grafy, které jsou vykreslovány pomocí stejného měřítka a os pro lepší srovnání mezi nimi. To zase pomáhá programátorovi rychle rozlišovat mezi grafy a získávat velké množství informací.
Zvažte následující příklad funkce facetgrid () pro vykreslení těchto grafů.
PŘÍKLAD:
sns.set (style = 'darkgrid') a = sns.load_dataset ('iris') b = sns.FacetGrid (a, col = 'species') b.map (plt.hist, 'sepal_length')
VÝSTUP:
Výše uvedený výstup jasně ukazuje srovnání mezi tipy, které jsou podávány během oběda a večeře. Můžete také vykreslit pomocí funkce PairGrid, když máte pár proměnných k porovnání. Zvažte následující příklad.
PŘÍKLAD:
sns.set (style = 'ticks') a = sns.load_dataset ('flight') b = sns.PairGrid (a) b.map (plt.scatter)
VÝSTUP:
Jak vidíte, výše uvedený výstup jasně porovnává rok a počet cestujících různými způsoby.
Seaborn také umožňuje úpravy týkající se estetiky, která je dále diskutována.
Estetika spiknutí:
Tato část tutoriálu Python Seaborn se zabývá tím, jak učinit naše pozemky atraktivnějšími a příjemnějšími.
Estetika postavy z Pythonu Seaborn:
První funkce, o které budu diskutovat, je set (). Parametr „style“ této funkce jsem používal již dříve. Tento parametr se v zásadě zabývá tématy moře. V současné době je jich k dispozici pět, a to darkgrid, ticks, whitegrid, white and dark.
Zvažte následující příklad demonstrující bílé téma.
PŘÍKLAD:
importovat seaborn jako sns import matplotlib.pyplot jako plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', data = a)
VÝSTUP:
Ve výše uvedeném výstupu si můžete všimnout, že motiv je změněn na bílý. Můžete je dále prozkoumat pomocí dalších témat. Pokud si všimnete v předchozím výstupu, kolem grafu jsou osy. To je však také přizpůsobitelné pomocí funkce despine (). Podívejte se na níže uvedený příklad.
PŘÍKLAD:
importovat seaborn jako sns import matplotlib.pyplot jako plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', data = a) sns.despine (offset = 10, trim = True)
VÝSTUP:
Všimněte si rozdílu mezi předchozími dvěma výstupy. Existuje však mnohem více možností, které můžete prozkoumat sami.
Palety barev Python Seaborn:
Barva je v podstatě vlastnost, která se blíží lidským očím nad rámec jakékoli jiné funkce. Seaborn vám umožňuje hrát s barvami pomocí různých funkcí, jako je color_palette (), hls_palette (), husl_palette () atd. Podívejte se na barvy, které jsou v seaborn aktuálně přítomny.
PŘÍKLAD:
import numpy jako np import seaborn jako sns import matplotlib.pyplot jako plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)
VÝSTUP:
Výše uvedený obrázek ukazuje barvy, které jsou v seaborn přítomny. Udělal jsem to pomocí funkce palplot (). Pro hlubší varianty můžete použít hls_palette (), husl_palette () atd.
Tím se dostáváme na konec výukového programu Python Seaborn. Doufám, že jste vše pochopili jasně. Ujistěte se, že cvičíte co nejvíce .
Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Python Seaborn Tutorial“ a my se vám ozveme co nejdříve.
Chcete-li získat podrobné znalosti o Pythonu spolu s jeho různými aplikacemi, můžete se zaregistrovat naživo s nepřetržitou podporou a doživotním přístupem.