W tej lekcji poznasz podstawy wizualizacji danych w Pythonie, wykorzystując biblioteki Matplotlib i Seaborn. Nauczysz się tworzyć różnego rodzaju wykresy, takie jak histogramy, wykresy rozrzutu i wykresy słupkowe, aby efektywnie eksplorować i analizować dane.
Wizualizacja danych to proces prezentowania danych w formie graficznej, pozwalający na łatwiejsze zrozumienie trendów, wzorców i anomalii. Jest to kluczowy element analizy danych, umożliwiający szybką identyfikację istotnych informacji. Dlaczego wizualizacja jest ważna? Wyobraź sobie ogromną tabelę z danymi – ciężko dostrzec w niej zależności. Wykresy, takie jak histogramy, wykresy rozrzutu czy wykresy słupkowe, natychmiast ujawniają istotne informacje, które w surowych danych byłyby trudne do zauważenia. Wyobraźmy sobie, że analizujemy sprzedaż lodów w upalne lato – wykres słupkowy może natychmiast pokazać, które smaki są najpopularniejsze!
Narzędzia do wizualizacji w Pythonie:
Zaczynamy od Matplotlib. Najpierw musimy zaimportować bibliotekę. Standardowo robi się to tak:
import matplotlib.pyplot as plt
# Tworzymy przykładowe dane
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]
# Tworzymy prosty wykres liniowy
plt.plot(x, y)
plt.title('Prosty Wykres Liniowy')
plt.xlabel('Oś X')
plt.ylabel('Oś Y')
plt.show()
W powyższym kodzie:
plt.plot(x, y)
tworzy wykres liniowy, gdzie x i y to nasze dane.plt.title()
, plt.xlabel()
, plt.ylabel()
dodają tytuł i etykiety osi.plt.show()
wyświetla wykres. Inne typy wykresów w Matplotlib:
plt.bar(x, y)
plt.hist(dane)
– używany do wizualizacji rozkładu danych.plt.scatter(x, y)
– pokazuje relację między dwiema zmiennymi.Seaborn ułatwia tworzenie atrakcyjnych i informacyjnych wizualizacji, często wykorzystywanych w analizie statystycznej. Importujemy go tak:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd # potrzebne do załadowania danych
# Przykład z użyciem zestawu danych 'iris' z Seaborn
iris = sns.load_dataset('iris')
# Wykres rozrzutu (scatter plot) dla dwóch cech
sns.scatterplot(x='sepal_length', y='sepal_width', hue='species', data=iris)
plt.title('Wykres Rozrzutu dla Iris')
plt.show()
# Histogramy dla każdej cechy dla każdej kategorii gatunku (wielokrotne histogramy)
sns.histplot(data=iris, x='sepal_length', hue='species', multiple='stack')
plt.title('Histogramy dla Iris')
plt.show()
W tym przykładzie:
sns.load_dataset('iris')
ładuje przykładowy zbiór danych 'iris' (kwiaty irysów).sns.scatterplot()
tworzy wykres rozrzutu, a hue
używa kolorów do reprezentowania gatunków irysów.sns.histplot()
generuje histogram.Seaborn automatycznie dodaje ładniejsze style i ułatwia tworzenie bardziej złożonych wizualizacji, takich jak wykresy rozkładu gęstości, mapy ciepła i wykresy korelacji.
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Wspaniale! Już rozumiesz podstawy wizualizacji danych w Pythonie, korzystając z Matplotlib i Seaborn. Teraz zanurzymy się głębiej, odkrywając zaawansowane techniki i zastosowania, które pozwolą Ci efektywnie analizować i prezentować dane.
Pora na personalizację i interaktywność! Zrozumienie, jak dostosować wykresy do konkretnych potrzeb i jak uczynić je bardziej dynamicznymi, to klucz do skutecznej komunikacji danych.
Personalizacja: Pomyśl o wykresie jak o dziele sztuki. Matplotlib i Seaborn oferują bogate możliwości personalizacji, takie jak:
plt.style.use('ggplot')
lub sns.set_style('whitegrid')
, by szybko zmienić wygląd.plt.xlabel()
, plt.ylabel()
, plt.title()
i plt.legend()
.plt.annotate()
) do wyróżniania istotnych punktów na wykresie. Wyobraź sobie, że chcesz podkreślić rekordową sprzedaż w danym miesiącu.plt.subplots()
. To przydatne, gdy chcesz porównać kilka różnych danych jednocześnie.Interaktywność: Choć Matplotlib jest statyczny, możemy wykorzystać biblioteki takie jak Plotly
(pip install plotly
) lub Bokeh
(pip install bokeh
) aby stworzyć dynamiczne wykresy, które reagują na interakcje użytkownika (np. najazdy myszką, kliknięcia). Wyobraź sobie wykres, gdzie po najechaniu na słupek pojawia się dodatkowa informacja!
import plotly.express as px
# Przykładowe dane
dane = {'kategoria': ['A', 'B', 'C'], 'wartość': [10, 15, 7]}
# Utworzenie interaktywnego wykresu słupkowego
fig = px.bar(dane, x='kategoria', y='wartość', title='Interaktywny Wykres Słupkowy')
fig.show()
Ćwiczenie 1: Personalizacja Wykresu
Masz dane dotyczące sprzedaży lodów w różnych smakach w ciągu roku. Stwórz wykres słupkowy (wykorzystaj Matplotlib lub Seaborn) prezentujący te dane. Dostosuj kolory, dodaj tytuł, etykiety osi i legendę. Dodaj adnotację do najwyższego słupka, wskazując na najlepszy smak.
# Podpowiedź: Wykorzystaj plt.annotate()
Ćwiczenie 2: Wykres Rozrzutu i Kolorowanie
Wykorzystaj zestaw danych "iris" (dostępny w bibliotece Seaborn - sns.load_dataset('iris')
). Stwórz wykres rozrzutu, pokazujący zależności między "sepal_length" a "sepal_width". Pokoloruj punkty w zależności od gatunku (kolumna "species"). Użyj różnych stylów punktów dla ułatwienia interpretacji.
# Podpowiedź: Wykorzystaj sns.scatterplot() i argument 'hue'
Wizualizacja danych to narzędzie wszechobecne w świecie zawodowym. Oto kilka przykładów:
Zaawansowane Zadanie: Stwórz interaktywny dashboard (np. w Plotly Dash lub Streamlit) z kilkoma wykresami, pozwalający na analizę danych dotyczących Twojego ulubionego tematu (np. sportu, gier wideo, polityki). Użyj różnych rodzajów wykresów i umożliw interakcję (filtrowanie, zmiana parametrów). Pomyśl o stworzeniu własnej aplikacji analitycznej!
Utwórz wykres liniowy przedstawiający zmiany temperatury w ciągu dnia (w godzinach: 8, 10, 12, 14, 16, 18) i temperaturach: 15, 18, 22, 24, 20, 17 stopni Celsjusza. Dodaj tytuł, etykiety osi i wyświetl wykres.
Stwórz wykres słupkowy przedstawiający wyniki sprzedaży lodów w różnych smakach (np. waniliowy, czekoladowy, truskawkowy) w ciągu tygodnia. Dane dotyczące sprzedaży to: 15, 20, 10 sztuk odpowiednio dla każdego smaku. Użyj `plt.bar()`.
Użyj zestawu danych 'iris' z Seaborn. Stwórz wykres rozrzutu (`sns.scatterplot()`), który pokaże relację pomiędzy 'sepal_length' i 'petal_length', używając 'species' do kolorowania punktów. Dodaj tytuł do wykresu.
Użyj zestawu danych 'iris' z Seaborn. Utwórz histogram (`sns.histplot()`), który porówna rozkład 'sepal_width' dla różnych 'species'. Użyj parametru `hue` i `multiple='stack'`, aby nakładać histogramy.
Wyobraź sobie, że jesteś analitykiem danych w małej kawiarni. Chcesz przeanalizować dane dotyczące sprzedaży kaw w ciągu tygodnia. Zbierz dane dotyczące sprzedaży różnych rodzajów kaw (np. latte, espresso, cappuccino) oraz ich ilości sprzedanych każdego dnia. Stwórz wykresy słupkowe i liniowe, które pomogą właścicielowi kawiarni zrozumieć, które kawy są najpopularniejsze i które dni tygodnia przynoszą największe zyski. Możesz również wykorzystać wykresy rozrzutu do analizy zależności między cenami kaw a ilością sprzedanych porcji.
Przed następną lekcją przeanalizuj więcej przykładów wizualizacji danych, spróbuj poeksperymentować z różnymi typami wykresów i danymi. Przygotuj się na lekcję poświęconą zaawansowanym technikom wizualizacji i eksploracyjnej analizie danych (EDA).
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.