Wykres warstwowy (czasami zwany też wykresem powierzchniowym) jest bardzo podobny do wykresu liniowego i przedstawia ewolucję zmiennej numerycznej. Co do zasady w przypadku tego wykresu oś X reprezentuje czas (lub rzadziej zmienną uporządkowaną). Natomiast na osi Y przedstawione są wartości innej zmiennej. Punkty danych są połączone linią prostą, a obszar między osią x a linią jest wypełniony kolorem lub cieniowaniem.
Znacie zasadę data-ink ratio? Jest to koncepcja stworzona przez Edwarda Tufte. Mówi o stosunku danych do ilości atramentu zużytego podczas drukowania. Zachęca twórców wykresów do sprawdzenia, czy wszystkie elementy na wykresie są istotne dla przesłania wykresu. Z tego powodu można spotkać się z krytyką tego wykresu. Nie da się zaprzeczyć, iż usunięcie obszaru pod krzywą sprawiłoby utworzenie wykresu liniowego pokazującego te same informacje. Jednak moim zdaniem wykres warstwowy bardzo dobrze pokazuje ewolucję, a wypełniony obszar sprawia, iż trend w danych pozostało bardziej widoczny.
Dodatkowo wykres świetnie nadaje się w przypadku, gdy mamy dłuższą historię, gdzie wykres kolumnowy nie byłby już zbyt czytelny ze względu na wielość występujących kolumn.
Wadą tych wykresów jest mniejsza precyzja. Wykresy warstwowe mogą być mniej dokładne niż inne typy wykresów, takie jak wykresy liniowe czy wykresy słupkowe, ponieważ trudno jest wskazać dokładną wartość punktu na wykresie. Występują również trudności w rozróżnianiu serii. Na przykład, gdy na tym samym wykresie warstwowym jest wyświetlanych wiele serii danych, rozróżnienie między nimi może być trudne i problematyczne, gdy obszary różnych szeregów zachodzą na siebie. Na szczęście problem ten rozwiązują skumulowane wykresy warstwowe.
Skumulowany wykres warstwowy
Skumulowany wykres warstwowy jest rozszerzeniem podstawowego wykresu warstwowego. Przedstawia ewolucję wartości kilku grup na tej samej grafice. Wartości każdej grupy wyświetlamy na wykresie jedną nad drugą, co pozwala sprawdzić na tej samej figurze ewolucję zarówno sumy zmiennej numerycznej, jak i ważności każdej grupy. Taka wizualizacja danych może ułatwić porównywanie względnych rozmiarów różnych serii danych i obserwowanie, jak zmieniają się one w czasie.
Skumulowane wykresy warstwowe mogą być również wykorzystywane do przedstawiania danych procentowych, na przykład procentowego udziału poszczególnych kategorii w zbiorze danych.
Kod w Python
Narysujmy wykresy wykorzystując najbardziej podstawową bibliotekę wykorzystywaną do wizualizacji, czyli matplotlib. Wyczytajmy najpierw biblioteki:
Pobierzmy na samym początku dane. Znalazłem interesujące dane z Nowej Zelandii z informacją, ile w danym roku rodziło się dzieci pogrupowane po imionach dzieci od 1900 roku!
Jako dumny tata dwójki dziewczynek pomyślałem, iż możemy przyjrzeć się tylko płci pięknej.
Przygotujmy teraz wykres warstwowy pokazujący liczbę imion żeńskich w czasie.
Mając duszę analityka danych sprawdźmy jeszcze, wykorzystując wykres warstwowy, jak wygląda liczba unikalnych imion w czasie.
Widzimy, iż roczna liczba nowourodzonych dziewczynek od okolo 1960 systematycznie spada cały czas. Natomiast widzimy, iż z roku na rok w Nowej Zelandii nadawane są coraz bardziej zróżnicowane imiona.
Skumulowany wykres warstwy
Wybierzmy teraz kilka najczęściej występujących imion na przestrzeni tego okresu. Poniżej w kodzie znajdziesz zaproponowaną przeze mnie listę 9 imion. Narysujmy dla nich skumulowany wykres warstwowy:
Moim zdaniem w przejrzysty sposób widzimy na wykresie najbardziej popularne per okres nadawane imiona dziewczynkom.
Odmianą skumulowanego wykresu warstwowego jest procentowy skumulowany wykres warstwowy. Różnica polega na tym, iż wartości każdej grupy są znormalizowane w każdym znaczniku czasu.
Niemniej chciałem jeszcze Ci jeszcze jedną ciekawostkę. Alternatywą dla wykresu skumulowanego może być narysowanie każdej zmiennej osobno:
Mam nadzieję, iż znasz już wady i zalety wykresu warstwowego!
Pozdrawiam z całego serducha,