Python to magazyn wielu niezwykle wydajnych bibliotek i frameworków. Wśród nich jest Seaborn, który jest dominujący Wizualizacja danych biblioteka, dając programistom kolejny powód do ukończenia . W tym samouczku Python Seaborn nauczysz się wszystkich umiejętności wizualizacji danych za pomocą Seaborn.
Zanim przejdziemy dalej, przejrzyjmy wszystkie tematy dyskusji w tym artykule:
- Dlaczego warto korzystać z Seaborn?
- Jak zainstalować Seaborn?
- Instalowanie zależności Python Seaborn
- Funkcje kreślenia roślin morskich
- Siatki o wielu działkach
- Fabuła-estetyka
Zacznijmy więc od ustalenia znaczenia języka Python Seaborn.
Dlaczego warto korzystać z Python Seaborn?
Jak wspomniano wcześniej, biblioteka Python Seaborn jest używana do ułatwienia trudnego zadania wizualizacji danych i opiera się na . Seaborn umożliwia tworzenie grafik statystycznych poprzez następujące funkcjonalności:
Interfejs API oparty na zbiorach danych umożliwiający porównywanie wielu plików zmienne
Obsługuje siatki z wieloma działkami, które z kolei ułatwiają tworzenie złożonych wizualizacji
Wizualizacje z jedną i dwiema zmiennymi są dostępne do porównywania podzbiorów danych
Dostępność różnych palet kolorów, aby pokazać różne rodzaje wzorów
Szacunki i wykresy automatycznie
Tak więc, jeśli zastanawiałeś się, po co używać Seaborn, skoro masz już Matplotlib, oto odpowiedź na to pytanie.
Python Seaborn vs Matplotlib:
„Jeśli Matplotlib„ próbuje uczynić łatwe rzeczy łatwymi, a trudnymi możliwymi ”, to seaborn stara się również ułatwić dobrze zdefiniowany zestaw trudnych rzeczy” - Michael Waskom (Twórca Seaborn).
W rzeczywistości Matplotlib jest dobry, ale Seaborn jest lepszy. Istnieją zasadniczo dwie wady Matplotlib, które Seaborn naprawia:
Matplotlib można spersonalizować, ale trudno jest określić, jakie ustawienia są wymagane, aby działki były bardziej atrakcyjne. Z drugiej strony, Seaborn zawiera liczne niestandardowe motywy i interfejsy wysokiego poziomu, które rozwiązują ten problem.
Podczas pracy z Pandy , Matplotlib nie działa dobrze, jeśli chodzi o obsługę DataFrames, podczas gdy funkcje Seaborn faktycznie działają na DataFrames.
Jak zainstalować Seaborn?
Aby zainstalować bibliotekę Python Seaborn, możesz użyć następujących poleceń w zależności od używanej platformy:
pip install seaborn
lub
conda install seaborn
Po zainstalowaniu po prostu upewnij się, że zainstalowałeś pakiety i biblioteki, od których zależy seaborn.
Instalowanie zależności Python Seaborn:
Obowiązkowe zależności dla labraksa to:
Jest też jedna zalecana zależność, która jest:
- modele państwowe
Aby zainstalować te biblioteki, możesz użyć tych samych poleceń, które pokazano wcześniej dla Seaborn z ich odpowiednimi nazwami. Po zainstalowaniu można je łatwo zaimportować. Seaborn umożliwia załadowanie dowolnego zbioru danych z używając load_dataset () funkcjonować. Możesz również wyświetlić wszystkie dostępne zbiory danych za pomocą funkcji get_dataset_names () w następujący sposób:
PRZYKŁAD:
importuj morski jako sns sns.get_dataset_names ()
Spowoduje to wyświetlenie listy wszystkich dostępnych zestawów danych.
Teraz, gdy masz już skonfigurowane środowisko do pracy z porożem morskim, przejdźmy dalej, aby zobaczyć, jak korzystać z jego funkcji kreślenia w .
Funkcje kreślenia roślin morskich
Wizualizacja zależności statystycznych:
Proces rozumienia relacji między zmiennymi w zbiorze danych i tego, jak z kolei zależą te relacje od innych zmiennych, jest znany jako analiza statystyczna. Przyjrzyjmy się teraz dokładniej funkcjom potrzebnym do tego:
relplot ():
Jest to funkcja na poziomie figury, która wykorzystuje dwie inne funkcje osi do wizualizacji zależności statystycznych, którymi są:
- wykres punktowy()
- lineplot ()
Funkcje te można określić za pomocą parametru „kind” funkcji relplot (). W przypadku podania tego parametru przyjmuje on wartość domyślną, czyli scatterplot (). Zanim zaczniesz pisać kod, zaimportuj wymagane biblioteki w następujący sposób:
import numpy as np import pandy as pd import matplotlib.pyplot as plt import seaborn as sns sns.set (style = 'darkgrid')
Zwróć uwagę, że atrybut stylu jest również konfigurowalny i może przyjmować dowolną wartość, taką jak darkgrid, ticks, itp., Które omówię później w sekcji plot-estetyka. Spójrzmy teraz na mały przykład:
PRZYKŁAD:
f = sns.load_dataset ('loty') sns.relplot (x = 'pasażerowie', y = 'miesiąc', dane = f)
WYNIK:
Jak widać, punkty są wykreślane w 2 wymiarach. Możesz jednak dodać kolejny wymiar, używając semantyki „odcień”. Spójrzmy na przykład tego samego:
PRZYKŁAD:
f = sns.load_dataset ('loty') sns.relplot (x = 'pasażerowie', y = 'miesiąc', hue = 'rok', dane = f)
Zobaczysz następujące dane wyjściowe:
WYNIK:
jak stworzyć tablicę dynamiczną w java
Jest jednak o wiele więcej dostosowań, które możesz wypróbować, takich jak kolory, style, rozmiar itp. Pokażę tylko, jak możesz zmienić kolor w poniższym przykładzie:
PRZYKŁAD:
sns.set (style = 'darkgrid') f = sns.load_dataset ('loty') sns.relplot (x = 'pasażerowie', y = 'miesiąc', hue = 'rok', paleta = 'ch: r = - 0,5, l = 0,75 ', dane = f)
WYNIK:
lineplot ():
Ta funkcja pozwoli ci narysować ciągłą linię dla twoich danych. Możesz użyć tej funkcji, zmieniając parametr „rodzaj” w następujący sposób:
PRZYKŁAD:
a = pd.DataFrame ({'Day': [1, 2, 3, 4, 5, 6, 7], 'Sklep': [30,80,45,23,51,46,76], 'Ubrania' : [13,40,34,23,54,67,98], „Naczynia”: [12,32,27,56,87,54,34]}, indeks = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Day', y = 'Clothes', kind = 'line', data = a) g.fig.autofmt_xdate ()
WYNIK:
Wartością domyślną wykresu liniowego jest y jako funkcja x. Można to jednak zmienić, jeśli chcesz. Istnieje wiele innych opcji, które możesz wypróbować dalej.
Przyjrzyjmy się teraz, jak wykreślić dane kategoryczne.
Plotting z danymi kategorycznymi:
Takie podejście pojawia się, gdy nasza główna zmienna jest dalej podzielona na dyskretne grupy (kategoryczne). Można to osiągnąć za pomocą funkcji catplot ().
catplot ():
Jest to funkcja na poziomie figury, taka jak relplot (). Można go scharakteryzować za pomocą trzech rodzin funkcji poziomu osi, a mianowicie:
Scatterplots - obejmują stripplot (), swarmplot ()
Distribution Plots - czyli boxplot (), violinplot (), boxenplot ()
Estimateplots - czyli pointplot (), barplot (), countplot ()
Spójrzmy teraz na kilka przykładów, aby to zademonstrować:
PRZYKŁAD:
import seaborn as sns import matplotlib.pyplot as plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', dane = a)
WYNIK:
Jak widać, w powyższym przykładzie nie ustawiłem parametru „rodzaj”. Dlatego zwrócił wykres jako domyślny wykres rozrzutu. Możesz określić dowolną funkcję poziomu osi, aby zmienić wykres w razie potrzeby. Weźmy też przykład:
PRZYKŁAD:
import seaborn as sns import matplotlib.pyplot as plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', rodzaj = 'skrzypce', dane = a)
WYNIK:
Powyższe dane wyjściowe pokazują wykres skrzypcowy dla zestawu danych końcówek. Spróbujmy teraz dowiedzieć się, jak wizualizować dystrybucję zbioru danych.
Wizualizacja dystrybucji zbioru danych:
Zasadniczo dotyczy to rozumienia zbiorów danych w kontekście bycia jednowymiarowym lub dwuwymiarowym. Zanim zaczniesz, po prostu zaimportuj następujące elementy:
import numpy as np import pandy as pd import seaborn as sns import matplotlib.pyplot as plt from scipy import stats sns.set (color_codes = True)
Gdy to zrobisz, możesz kontynuować wykreślanie dystrybucji jednowymiarowych i dwuwymiarowych.
Wykreślanie rozkładów jednowymiarowych:
Aby je wykreślić, możesz skorzystać z funkcji distplot () w następujący sposób:
PRZYKŁAD:
a = np.random.normal (loc = 5, size = 100, scale = 2) sns.distplot (a)
WYNIK:
Jak widać w powyższym przykładzie, wykreśliliśmy wykres dla zmiennej a, której wartości są generowane przez funkcję normal () za pomocą distplot.
Wykreślanie rozkładów dwuwymiarowych:
Pojawia się to, gdy masz dwie losowe zmienne niezależne, które powodują pewne prawdopodobne wydarzenie. Najlepszą funkcją do rysowania tego typu wykresów jest funkcja jointplot (). Narysujmy teraz dwuwymiarowy wykres za pomocą funkcji jointplot ().
PRZYKŁAD:
x = pd.DataFrame ({'Day': [1, 2, 3, 4, 5, 6, 7], 'Sklep spożywczy': [30,80,45,23,51,46,76], 'Ubrania' : [13,40,34,23,54,67,98], „Naczynia”: [12,32,27,56,87,54,34]}, indeks = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({'Day': [8,9,10,11,12,13,14], 'Sklep spożywczy': [30,80,45,23,51,46, 76], „Odzież”: [13,40,34,23,54,67,98], „Przybory”: [12,32,27,56,87,54,34]}, indeks = [8,9 , 10,11,12,13,14]) średnia, cov = [0, 1], [(1, .5), (.5, 1)] dane = np.random.multivariate_normal (mean, cov, 200 ) z sns.axes_style ('white'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')
WYNIK:
Teraz, gdy zrozumiałeś różne funkcje w Python Seaborn, przejdźmy do tworzenia ustrukturyzowanych wieloplatformowych siatek.
Siatki Multi-Plot:
Python Seaborn umożliwia drukowanie wielu siatek obok siebie. Są to w zasadzie wykresy lub wykresy, które są wykreślane przy użyciu tej samej skali i osi, aby ułatwić porównanie między nimi. To z kolei pomaga programiście szybko rozróżniać wykresy i uzyskiwać duże ilości informacji.
Rozważ poniższy przykład funkcji facetgrid (), aby wykreślić te wykresy.
PRZYKŁAD:
sns.set (style = 'darkgrid') a = sns.load_dataset ('iris') b = sns.FacetGrid (a, col = 'species') b.map (plt.hist, 'sepal_length')
WYNIK:
Powyższy wynik wyraźnie pokazuje porównanie napiwków podawanych podczas obiadu i kolacji. Możesz także wykreślić funkcję PairGrid, gdy masz parę zmiennych do porównania. Rozważmy następujący przykład.
PRZYKŁAD:
sns.set (style = 'ticks') a = sns.load_dataset ('loty') b = sns.PairGrid (a) b.map (plt.scatter)
WYNIK:
Jak widać, powyższy wynik wyraźnie porównuje rok z liczbą pasażerów na różne sposoby.
Seaborn pozwala również na dostosowania dotyczące estetyki, która jest omówiona dalej.
Fabuła-Estetyka:
Ten fragment samouczka Python Seaborn dotyczy uczynienia naszych działek bardziej atrakcyjnymi i zachwycającymi.
Estetyka figury Python Seaborn:
Pierwsza funkcja, o której będę mówić, to set (). Używałem wcześniej parametru „style” tej funkcji. Ten parametr w zasadzie dotyczy tematów porodów morskich. Obecnie dostępnych jest pięć z nich, a mianowicie ciemna siatka, kleszcze, biała gratka, biała i ciemna.
Rozważmy następujący przykład ilustrujący biały motyw.
PRZYKŁAD:
import seaborn as sns import matplotlib.pyplot as plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', dane = a)
WYNIK:
Na powyższym wyjściu możesz zauważyć, że motyw zmienił się na biały. Możesz je dalej badać, korzystając również z innych tematów. Jeśli zauważysz w poprzednim wyniku, osie są obecne na całym wykresie. Jednak można to również dostosować za pomocą funkcji despine (). Spójrz na poniższy przykład.
PRZYKŁAD:
import seaborn as sns import matplotlib.pyplot as 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)
WYNIK:
Zwróć uwagę na różnicę między dwoma poprzednimi wyjściami. Istnieje jednak wiele innych opcji, które możesz samemu sprawdzić.
Palety kolorów Python Seaborn:
Kolor jest w zasadzie cechą, która zbliża się do ludzkich oczu poza jakąkolwiek inną cechą. Seaborn pozwala bawić się kolorami przy użyciu różnych funkcji, takich jak color_palette (), hls_palette (), husl_palette (), itp. Przyjrzyj się kolorom, które są obecnie obecne w seaborn.
PRZYKŁAD:
import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)
WYNIK:
Powyższe zdjęcie przedstawia kolory obecne w obrębie dna morskiego. Zrobiłem to za pomocą funkcji palplot (). Aby uzyskać głębsze odmiany, możesz użyć hls_palette (), husl_palette () itp.
To prowadzi nas do końca samouczka Python Seaborn. Mam nadzieję, że wszystko zrozumiałeś. Upewnij się, że ćwiczysz jak najwięcej .
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu „Python Seaborn Tutorial”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.
Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz zarejestrować się na żywo z całodobowym wsparciem i dożywotnim dostępem.