Lekcja 09 · Warsztat
matplotlib: słupki i punkty
Linia sugeruje ciągłość. Frekwencja z pięciu dni albo liczba pizz to raczej słupki albo punkty.
Po tej lekcji
- Używasz plt.bar i plt.scatter.
- Wybierasz typ wykresu do pytania, nie „jaki ładniejszy”.
- Opisujesz osie tak samo jak przy linii.
Linia sugeruje ciągłość. Frekwencja z pięciu dni albo liczba pizz w wariantach k = 2, 3, 4 to raczej słupki: kategoria, nie „półklasa między 3A i 3B”.
Karta modelu: dane, założenia, parametry
| Wielkość | Symbol | Wartość | Jednostka | Skąd się wzięła | Rodzaj |
|---|---|---|---|---|---|
| Kategoria | klasa albo k | 3A… albo 2/3/4 kawałki | etykieta | pytanie | dana |
| Wysokość słupka | y | obecni albo pizze | osoby / sztuki | pomiar albo model z lekcji 2 | dana albo wynik |
| Oś Y od zera | — | tak | — | żeby 19 vs 30 nie oszukiwało | założenie wykresu |
import matplotlib.pyplot as plt
def wykres_slupkow(kategorie, wartosci, tytul, etykieta_y):
plt.bar(kategorie, wartosci)
plt.title(tytul)
plt.ylabel(etykieta_y)
plt.show()
def wykres_punktow(x, y, tytul, etykieta_x, etykieta_y):
plt.scatter(x, y)
plt.title(tytul)
plt.xlabel(etykieta_x)
plt.ylabel(etykieta_y)
plt.grid(True)
plt.show()
wykres_slupkow(["3A", "3B", "3C", "3D"], [28, 24, 30, 19], "Obecni w środę (osoby)", "Osoby")
wykres_punktow([1, 2, 3, 4, 5], [18, 21, 19, 25, 24], "Czas biegu vs numer próby", "Próba", "Sekundy")
Słupki: kategorie (klasy, pizze A/B). Punkty: gdy nie chcesz udawać, że między pomiarami jest prosta.
Sprawdź się. Ile pizz w wariantach C = 2, 3, 4 kawałków na osobę — jaki wykres?
Ćwiczenia samodzielne
- Słupki: pizze z lekcji 2 dla k = 2, 3, 4 kawałków na osobę (27 jedzących, pizza 8).
- Punkty: (miejsca w aucie, liczba aut) z lekcji 6 przy J = 23 i miejscach 3, 4, 5.
- Zamień bar na plot. Czy linia między klasami 3A i 3B ma sens? Napisz zdanie.
- Dodaj plt.ylim(0, 35) przy słupkach obecności. Po co zaczynać oś Y od zera?
Odpowiedzi (dopiero po samodzielnej pracy)
- k=2 → 7, k=3 → 11, k=4 → 14 pizz.
- (3,8), (4,6), (5,5).
- Nie — między klasami nie ma „półklasy”.
- Żeby 19 vs 30 nie wyglądało jak przepaść przy osi od 18.