Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


23.06.2020

PLNOG Online

PLNOG Online
23.06.2020

Nowe zagrożenie

Ramsay
23.06.2020

Chmurowe kopie

Veeam Backup dla Microsoft Azure
19.06.2020

Nowości w kontenerach

Red Hat OpenShift 4.4
19.06.2020

Analityka bezpieczeństwa

FortiAI
19.06.2020

UPS dla obliczeń edge

Schneider APC Smart-UPS
16.06.2020

Przemysłowe SD

Nowe karty Transcend
16.06.2020

Storage dla SMB

QNAP TS-451DeU
16.06.2020

Pamięć masowa

Dell EMC PowerStore

Python, style wykresów w bibliotekach Seaborn

Data publikacji: 18-04-2019 Autor: Grzegorz Kubera
Dostępne palety kolorystyczne...

To ostatnia część kursu poświęcona bibliotekom Seaborn. Najłatwiejsze zostawiliśmy na koniec – skupimy się na edycji stylów graficznych i kolorystyce wykresów, wykorzystując przy tym biblioteki Seaborn i częściowo Matplotlib. Dla przypomnienia dodajmy, że Seaborn to swojego rodzaju nakładka na Matplotlib.

 

Zanim przejdziemy do nauki odpowiednich komend i sprawdzania, jakie dają efekty, musimy przygotować środowisko pracy. Na pasku zadań w Windowsie wpisujemy w tym celu Anaconda Prompt i uruchamiamy wiersz poleceń. Kolejno podajemy komendy:

conda install seaborn
conda install numpy
conda install matplotlib

Wszystkie komendy należy zatwierdzić i po kolei zainstalować biblioteki NumPy, Matplotlib i Seaborn. Jeśli instalowaliśmy je wcześniej, nie musimy tego robić ponownie. Warto natomiast sprawdzić, czy do poszczególnych bibliotek nie ma aktualizacji – jeśli są, zainstalujmy je, zanim zaczniemy pracę w Jupyter Notebooku. Możliwe też, że wyświetli się komunikat o nowszej wersji Anacondy. W tym wypadku warto zainstalować aktualizację, wpisując polecenie:

conda update -n base conda

Po instalacji uruchamiamy Jupytera, wpisując:

jupyter notebook

Kiedy uruchomimy Jupytera, otwieramy notatnik w Pythonie 3, a następnie wpisujemy komendy:

import seaborn as sns
%matplotlib inline
tips = sns.load_dataset(‘tips’)
tips.head()

Komendy te odpowiednio oznaczają, że:

 

  • zaimportowaliśmy biblioteki Seaborn i chcąc z nich korzystać, będziemy podawać funkcje zaczynające się od polecenia sns;
  • będziemy wyświetlać wizualizacje bezpośrednio w notatniku Jupyter, za co odpowiada komenda %matplotlib inline;
  • załadowaliśmy zestaw danych tips (zawiera dane na temat rachunków i napiwków pozostawionych przez klientów w restauracji), który jest w postaci DataFrame’u z bibliotek Pandas;
  • wyświetliliśmy zestaw danych w formie tabeli za pomocą komendy tips.head().


Tabela z danymi tips wygląda tak:

 

 

 

Tak przygotowane środowisko pozwala już rozpocząć naukę stylów graficznych i kolorów dla wykresów w Seaborn.

> EDYTOWANIE STYLÓW – WYKRESY W SEABORN

Na potrzeby kursu wyświetlimy wykres uwzględniający dane z kategorii płeć (sex), czyli odpowiednio dla kobiet i mężczyzn (female oraz male). W tym celu wpisujemy komendę:

sns.countplot(x=’sex’,data=tips)


sns.countplot wyświetla informacje w postaci pasków dla zmiennej kategorycznej, a nie ilościowej. Uwzględniamy dane z zestawu tips, przez co uzyskujemy taki efekt jak na rys. 1.

Mamy więc kategorię sex oraz dane dla kobiet i mężczyzn w czytelnej formie. Teraz możemy nadać styl graficzny. W tym celu nad wykresem dodajemy polecenie sns.set_style() i wybieramy jeden z dostępnych stylów: darkgrid, white­grid, dark, white, ticks. Wpisujemy:

sns.set_style(‚dark’)
sns.countplot(x=’sex’,data=tips)

Efekt końcowy pokazano na rys. 2. Dla przećwiczenia warto wpisać wszystkie style i sprawdzić, jak wyglądają. Poniżej prezentujemy jeszcze inną wersję:

sns.set_style(‚whitegrid’)
sns.countplot(x=’sex’,data=tips)

Efekt jest widoczny na rys. 3.

Kolejny element stylu, na jaki możemy mieć wpływ, to obramowanie. Domyślnie wykres prezentowany jest w taki sposób, że ma obramowanie po wszystkich stronach: z lewej, prawej, na górze i na dole. Jeśli chcemy zmienić obramowanie
(rys. 4), wpisujemy polecenie:

sns.set_style(‚whitegrid’)
sns.countplot(x=’sex’,data=tips)
sns.despine()

 

Domyślnie polecenie sns.despine() skonfigurowane jest w taki sposób, że usuwa prawą i górną ramkę. W języku programistycznym wygląda to tak: sns.despine(fig=­None, ax=None, top=True, right=True, left=False, bottom=False, offset=None, trim=False). Jeżeli chcemy usunąć wszystkie ramki, edytujemy komendę w taki sposób:

sns.despine(left=True,bottom=True)

Dzięki temu wymusimy usunięcie również lewej i dolnej ramki. Efekt widać na rys. 5.

 

Dla zobrazowania prezentujemy jeszcze wykres w stylu graficznym darkgrid i bez ramek (rys. 6) dzięki wykorzystaniu polecenia:

sns.set_style(‘darkgrid’)
sns.countplot(x=’sex’,data=tips)
sns.despine(left=True,bottom=True)

Komenda sns.despine() przydaje się zwłaszcza wtedy, gdy tworzymy np. prezentację dla klienta i zależy nam, aby wszystkie elementy graficzne były ze sobą spójne. Jeśli autor prezentacji nie przewidział żadnych ramek/obramowań, wówczas możemy w podobny sposób zaprezentować wykresy z Pythona.

 

[...]

 

Założyciel firmy doradczo-technologicznej; pełnił funkcję redaktora naczelnego w magazynach i serwisach informacyjnych z branży ICT. Dziennikarz z ponad 12-letnim doświadczeniem i autor książek nt. start-upów i przedsiębiorczości. 

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"