Klasa 3 LO · 30 lekcji Modelowanie matematyczne

Lekcja 08 · Warsztat

matplotlib: osie, tytuł, legenda, dwie serie

Model często porównuje dwa warianty. Dwie linie, jedna legenda.

Po tej lekcji

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śćSymbolWartośćJednostkaSkąd się wzięłaRodzaj
Rokt0…5lataoś Xdana (siatka)
Wariant stałyA+3 / rok od 20osobyprzepis Aparametr a=3
Wariant procentB+10% / rok od 20osobyprzepis B (tu na oko)parametr p=10%
Który wyżej w roku 5—odczytosobywykreswynik

Rodzaj: dana z dokumentu lub pomiaru; założenie — świadome uproszczenie; parametr — gałka, którą kręcimy w wariantach; wynik — to, co model ma policzyć.

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

Zrób przynajmniej dwa. Wynik Excel i Python ma się zgadzać z kartką.

  1. Uruchom kod. Odczytaj, w którym roku która seria jest wyżej.
  2. Policz listę procent dokładniej: start 20, pięć razy × 1.1, round(..., 1).
  3. Dodaj trzecią serię: +5 osób co rok. Legenda trzech pozycji.
  4. Zmień tytuł tak, żeby zawierał pytanie modelu, nie słowo „wykres”.
Odpowiedzi (dopiero po samodzielnej pracy)
  1. Na starcie procent słabszy (+2 vs +3); później dogania — sprawdź rok 5.
  2. [20, 22.0, 24.2, 26.6, 29.3, 32.2] mniej więcej.
  3. stala5 = [20, 25, 30, 35, 40, 45].
  4. Np. „Który przepis da więcej osób po 5 latach?”