Lekcja 08 · Warsztat
matplotlib: osie, tytuł, legenda, dwie serie
Model często porównuje dwa warianty. Dwie linie, jedna legenda.
Po tej lekcji
- Rysujesz dwa plt.plot na jednym rysunku.
- Używasz label= i plt.legend().
- Czytasz z wykresu, która seria wygrywa później.
Jaki model porównujemy
To zapowiedź lekcji 19: klub od 20 osób, wariant stały +3 i wariant +10% rocznie. Pytanie wykresu: w którym roku która seria jest wyżej? Dwie linie bez legendy to zgadywanie kolorów.
Karta modelu: dane, założenia, parametry
| Wielkość | Symbol | Wartość | Jednostka | Skąd się wzięła | Rodzaj |
|---|---|---|---|---|---|
| Rok | t | 0…5 | lata | oś X | dana (siatka) |
| Wariant stały | A | +3 / rok od 20 | osoby | przepis A | parametr a=3 |
| Wariant procent | B | +10% / rok od 20 | osoby | przepis B (tu na oko) | parametr p=10% |
| Który wyżej w roku 5 | — | odczyt | osoby | wykres | wynik |
import matplotlib.pyplot as plt
def wykres_dwoch_serii(x, y1, y2, label1, label2, tytul, etykieta_x, etykieta_y):
plt.plot(x, y1, marker="o", label=label1)
plt.plot(x, y2, marker="s", label=label2)
plt.title(tytul)
plt.xlabel(etykieta_x)
plt.ylabel(etykieta_y)
plt.legend()
plt.grid(True)
plt.show()
lata = [0, 1, 2, 3, 4, 5]
stala = [20, 23, 26, 29, 32, 35] # +3 co rok
procent = [20, 22, 24.2, 26.6, 29.3, 32.2] # +10% (zaokr. na oka)
wykres_dwoch_serii(
lata, stala, procent,
"stałe +3", "procent +10%",
"Dwa wzrosty klubu", "Rok", "Osoby",
)
Policz procent dokładnie w pętli (znacie pętle), potem wstaw listę zamiast liczb „na oko”. Na lekcji 19 wrócimy do tego modelu.
Sprawdź się. Po co label= przy plot?
Ćwiczenia samodzielne
- Uruchom kod. Odczytaj, w którym roku która seria jest wyżej.
- Policz listę procent dokładniej: start 20, pięć razy × 1.1, round(..., 1).
- Dodaj trzecią serię: +5 osób co rok. Legenda trzech pozycji.
- Zmień tytuł tak, żeby zawierał pytanie modelu, nie słowo „wykres”.
Odpowiedzi (dopiero po samodzielnej pracy)
- Na starcie procent słabszy (+2 vs +3); później dogania — sprawdź rok 5.
- [20, 22.0, 24.2, 26.6, 29.3, 32.2] mniej więcej.
- stala5 = [20, 25, 30, 35, 40, 45].
- Np. „Który przepis da więcej osób po 5 latach?”