**Wizualizacja danych – Biblioteka Matplotlib i Seaborn

W dzisiejszej lekcji zanurzymy się w świat wizualizacji danych, kluczowej umiejętności dla każdego data scientist'a. Poznamy dwie potężne biblioteki: Matplotlib i Seaborn, które pozwolą nam w prosty i efektywny sposób przedstawiać dane w postaci wykresów i diagramów.

Learning Objectives

  • Zrozumieć podstawy wizualizacji danych i jej znaczenie.
  • Poznać i umieć wykorzystać Matplotlib do tworzenia podstawowych wykresów (liniowych, słupkowych, rozrzutu).
  • Poznać i umieć wykorzystać Seaborn do tworzenia bardziej zaawansowanych i estetycznych wykresów.
  • Umieć dostosowywać wykresy do swoich potrzeb (dodawanie tytułów, etykiet osi, legend).

Lesson Content

Wprowadzenie do Wizualizacji Danych

Wizualizacja danych to proces prezentowania danych w formie graficznej, ułatwiając ich zrozumienie i analizę. Dzięki wizualizacji możemy szybko dostrzec trendy, zależności i anomalie, które w surowych danych mogą być trudne do wykrycia. Pomyśl o tym jak o detektywie, który używa map i schematów, aby rozwiązać sprawę. W data science, my używamy wykresów! Wyobraź sobie, że analizujemy sprzedaż lodów w Polsce. Bez wizualizacji, mielibyśmy tylko tabele z liczbami. Ale z wykresem słupkowym, od razu widać, które smaki były najpopularniejsze w danym miesiącu – jak np. lody Kaktus latem!

Matplotlib: Tworzenie Podstawowych Wykresów

Matplotlib to fundamentalna biblioteka do wizualizacji w Pythonie. Daje nam pełną kontrolę nad każdym aspektem wykresu.

Przykład 1: Wykres Liniowy

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]

plt.plot(x, y)  # Tworzenie wykresu liniowego
plt.title('Wykres Liniowy - Przykładowe dane')  # Dodanie tytułu
plt.xlabel('Oś X')  # Etykieta osi X
plt.ylabel('Oś Y')  # Etykieta osi Y
plt.show() # Wyświetlenie wykresu

Przykład 2: Wykres Słupkowy

import matplotlib.pyplot as plt

gatunki = ['Kot', 'Pies', 'Królik', 'Papuga']
liczba_zwierzat = [15, 22, 8, 5]

plt.bar(gatunki, liczba_zwierzat)
plt.title('Liczba Zwierząt w Schronisku')
plt.xlabel('Gatunek')
plt.ylabel('Liczba')
plt.show()

Przykład 3: Wykres Rozrzutu

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(50)  # Losowe dane
y = np.random.rand(50)

plt.scatter(x, y)
plt.title('Wykres Rozrzutu - Losowe dane')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()

Matplotlib pozwala na wiele więcej: zmiany kolorów, stylów linii, dodawanie legend, adnotacji, itp. To podstawa, którą warto opanować.

Seaborn: Estetyczne i Zaawansowane Wykresy

Seaborn to biblioteka zbudowana na Matplotlib, która oferuje wyższą estetykę i upraszcza tworzenie bardziej złożonych wykresów statystycznych. Seaborn automatycznie dba o wygląd wykresów i dostarcza gotowych rozwiązań dla popularnych typów wizualizacji. Wykorzystuje się go często do eksploracyjnej analizy danych (EDA).

Przykład 1: Histogram z Seaborn

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

dane = np.random.randn(100) # Dane rozkładu normalnego

sns.histplot(dane) # Tworzenie histogramu
plt.title('Histogram - Rozkład Normalny')
plt.show()

Przykład 2: Wykres Pudełkowy z Seaborn

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

dane = {'Kategoria': ['A', 'A', 'B', 'B', 'C', 'C'], 'Wartość': [10, 12, 15, 18, 20, 22]}
df = pd.DataFrame(dane)

sns.boxplot(x='Kategoria', y='Wartość', data=df)
plt.title('Wykres Pudełkowy')
plt.show()

Seaborn oferuje również wiele innych typów wykresów, takich jak heatmapy (mapy cieplne), wykresy gęstości, i wiele więcej. Ułatwia to analizę i prezentację danych w atrakcyjny i zrozumiały sposób. Pamiętaj, że często importujemy seaborn jako sns.

Dostosowywanie Wykresów

Niezależnie od tego, czy używasz Matplotlib, czy Seaborn, ważne jest, aby móc dostosować wykresy do swoich potrzeb. Możemy zmieniać kolory, style linii, dodawać tytuły, etykiety osi, legendy i adnotacje.

Przykład: Zmiana Koloru i Etykiet

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)  # Generowanie danych
y = np.sin(x)

plt.plot(x, y, color='red', linestyle='--', label='Sinus')  # Zmiana koloru i stylu linii
plt.title('Wykres Funkcji Sinus')
plt.xlabel('X')
plt.ylabel('Sin(X)')
plt.legend() # Dodanie legendy
plt.show()

Przykład: Zmiana Rozmiaru

import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))  # Zmiana rozmiaru wykresu (szerokość, wysokość) w calach
plt.scatter([1, 2, 3], [4, 5, 6])
plt.show()

Eksperymentuj z różnymi opcjami, aby zobaczyć, jak wpływają na wygląd wykresu!

Deep Dive

Explore advanced insights, examples, and bonus exercises to deepen understanding.

Rozszerzona Lekcja 3: Wizualizacja Danych - Więcej niż Wykresy!

Witaj ponownie! Dzisiaj zagłębimy się jeszcze bardziej w fascynujący świat wizualizacji danych. Po zapoznaniu się z Matplotlib i Seaborn, pora spojrzeć na to, jak efektywnie przekazywać informacje za pomocą wykresów i jak wybrać najlepsze narzędzie do konkretnych danych. Pamiętaj, że wizualizacja danych to nie tylko ozdoba – to klucz do zrozumienia i efektywnej komunikacji wyników analiz.

**Deep Dive Section: Wybór Odpowiedniego Wykresu i Znaczenie Storytellingu**

Wybranie właściwego typu wykresu to kluczowy element skutecznej wizualizacji. Zastanów się, jaki rodzaj danych prezentujesz i co chcesz przekazać. Przykładowo:

  • Wykresy liniowe: Idealne do pokazywania trendów w czasie (np. zmiana inflacji w Polsce w ciągu roku).
  • Wykresy słupkowe: Porównywanie wartości różnych kategorii (np. sprzedaż poszczególnych modeli samochodów w salonie). Pamiętaj o czytelności, sortując słupki w porządku malejącym lub rosnącym!
  • Wykresy rozrzutu: Badanie zależności między dwoma zmiennymi (np. związek między wzrostem a wagą osób).
  • Wykresy kołowe: Pokazywanie udziałów poszczególnych kategorii w całości (np. udział poszczególnych partii politycznych w wyborach - choć często krytykowane za trudność w dokładnej ocenie różnic).
  • Mapy ciepła (Heatmaps): Prezentacja danych w postaci macierzy, gdzie wartości są reprezentowane kolorami (np. korelacje między zmiennymi w analizie danych finansowych).

Storytelling z danymi: Wizualizacja to opowiadanie historii. Zadbaj o jasny przekaz, używaj tytułów i podpisów, które kontekstualizują dane. Pomyśl, jak Twój wykres pomoże odbiorcy zrozumieć, co jest ważne. Przykład? Zamiast "Sprzedaż w 2023", spróbuj: "Rekordowa Sprzedaż: Sprzedaż Wzrosła o 15% w 2023 roku!".

**Bonus Exercises**

Ćwiczenie 1: Wykresy a Dane o Polskich Miastach

Użyj danych o ludności największych polskich miast (możesz znaleźć je w Internecie - np. na stronie GUS). Stwórz:

  1. Wykres słupkowy przedstawiający ludność miast.
  2. Wykres kołowy pokazujący udział ludności wybranych miast w populacji największych polskich miast. Porównaj wyniki i zastanów się nad zaletami i wadami obydwu typów wykresów.

Ćwiczenie 2: Seaborn i Zaawansowana Wizualizacja

Wykorzystaj zbiór danych `iris` (dostępny w Seaborn). Stwórz:

  1. Wykres rozrzutu (scatter plot) z kolorami reprezentującymi różne gatunki irysów.
  2. Wykres histogramu dla cechy `sepal_length` dla każdego gatunku irysa (użyj `sns.displot` lub `sns.histplot`).

**Real-World Connections: Wizualizacja w Pracy i Życiu Codziennym**

Umiejętność wizualizacji danych jest niezwykle cenna w wielu dziedzinach. W analizie biznesowej pomaga w zrozumieniu trendów rynkowych i podejmowaniu decyzji. W nauce ułatwia prezentację wyników badań i komunikację z innymi naukowcami. W dziennikarstwie pozwala na tworzenie interaktywnych infografik, które angażują czytelnika. Nawet w życiu codziennym, potrafiąc analizować wykresy, łatwiej zrozumiesz informacje z mediów, wybory polityczne czy własne finanse.

Przykład: Wyobraź sobie, że pracujesz w firmie konsultingowej. Twoim zadaniem jest przygotowanie prezentacji dla klienta, która ma pokazywać wyniki analizy danych. Umiejętność tworzenia klarownych i atrakcyjnych wykresów jest kluczowa dla sukcesu tego projektu.

**Challenge Yourself**

Wykorzystaj dane o cenach nieruchomości w Twojej okolicy (możesz je znaleźć w internecie lub w bazach danych o nieruchomościach). Spróbuj stworzyć wykresy, które:

  1. Porównują ceny mieszkań w różnych dzielnicach.
  2. Pokazują zależność między powierzchnią mieszkania a ceną.
  3. Używają mapy ciepła do wizualizacji korelacji między różnymi zmiennymi (np. cena, powierzchnia, liczba pokoi).

**Further Learning**

Aby poszerzyć swoją wiedzę, rozważ:

  • Interaktywne wizualizacje: Poznaj biblioteki takie jak Plotly lub Bokeh, które pozwalają na tworzenie interaktywnych wykresów.
  • Dashboards: Naucz się tworzyć interaktywne panele (dashboards) z wykorzystaniem takich narzędzi jak Streamlit.
  • Teoria wizualizacji danych: Zdobądź głębsze zrozumienie zasad wizualnego projektowania (np. zasady Gestaltu, psychologia percepcji). Polecana lektura: "Storytelling with Data" Cole'a Nussbaumer Knaflica.
  • Wizualizacja geoprzestrzenna: Jeśli interesują Cię mapy, zanurz się w bibliotekach takich jak Folium lub GeoPandas.

Pamiętaj, że praktyka czyni mistrza! Regularnie eksperymentuj z różnymi typami wykresów i zbiorami danych, aby doskonalić swoje umiejętności. Powodzenia!

Interactive Exercises

Zadanie 1: Wykres Liniowy Sprzedaży

Stwórz wykres liniowy przedstawiający sprzedaż lodów w poszczególnych miesiącach. Użyj Matplotlib. Dane: miesiące = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec']; sprzedaz = [100, 120, 150, 200, 250, 300, 350]. Dodaj tytuł, etykiety osi i legendę.

Zadanie 2: Wykres Słupkowy - Popularność Zespołów Muzycznych

Stwórz wykres słupkowy pokazujący popularność kilku zespołów muzycznych w Polsce (np. na podstawie liczby odtworzeń na Spotify). Użyj Matplotlib. Ustaw odpowiednie etykiety.

Zadanie 3: Eksploracja Danych z Seaborn

Użyj Seaborn, aby stworzyć histogram dla losowych danych generowanych z rozkładu normalnego. Dodaj tytuł. Spróbuj zmienić kolor histogramu.

Zadanie 4: Refleksja

Pomyśl o sytuacji, w której wizualizacja danych pomogła Ci zrozumieć dane lepiej (np. w raporcie, prezentacji, lub osobistym projekcie). Jakiego typu wykresu użyto i dlaczego był on skuteczny?

Knowledge Check

Question 1: Która biblioteka jest fundamentalna do tworzenia wykresów w Pythonie?

Question 2: Co ułatwia Seaborn w porównaniu do Matplotlib?

Question 3: Jaką funkcję w Matplotlib wykorzystujemy do tworzenia wykresu słupkowego?

Question 4: Który kod poprawnie dodaje tytuł do wykresu w Matplotlib?

Question 5: Jakiego importu zazwyczaj używamy dla biblioteki Seaborn?

Practical Application

Wyobraź sobie, że pracujesz w firmie zajmującej się sprzedażą online. Twoim zadaniem jest przedstawienie zarządowi raportu na temat sprzedaży w ostatnim kwartale. Użyj Matplotlib i Seaborn do wizualizacji danych o sprzedaży, takich jak: sprzedaż po miesiącach (wykres liniowy), najpopularniejsze produkty (wykres słupkowy), rozkład cen produktów (histogram) i zależności między różnymi zmiennymi (np. cena vs. liczba sprzedanych sztuk - wykres rozrzutu).

Key Takeaways

Next Steps

Przygotuj się do następnej lekcji, gdzie skupimy się na pracy z danymi: wczytywaniu danych, czyszczeniu i wstępnej analizie za pomocą biblioteki Pandas. Przypomnij sobie podstawowe operacje na listach, słownikach i plikach w Pythonie, które będą przydatne.

Your Progress is Being Saved!

We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.

Next Lesson (Day 4)