Lekcja 10 · Warsztat
matplotlib: wykres z modelu i zapis PNG
Wykres ma powstać z obliczenia, nie z liczb wpisanych z palca na sztywno. Potem zapisujemy plik do raportu.
Po tej lekcji
- Budujesz listy w pętli z przepisu modelu.
- Zapisujesz rysunek plt.savefig przed plt.show.
- Wstawiasz PNG do dokumentu albo Teams.
To most do lekcji 15–17: lokata 1000 zł, 5% rocznie, 8 lat. Punkty na wykresie mają wypaść z funkcji seria_lokaty(kwota0, p, n_lat), nie z listy wpisanej z palca. Drugie wywołanie z p = 0,08 to wariant parametru.
Karta modelu: dane, założenia, parametry
| Wielkość | Symbol | Wartość | Jednostka | Skąd się wzięła | Rodzaj |
|---|---|---|---|---|---|
| Kapitał start | K₀ | 1000 | zł | wpłata | dana |
| Oprocentowanie | p | 0,05 albo 0,08 | 1/rok | ulotka / wariant | parametr |
| Lata | n | 8 | lata | pytanie | parametr |
| Plik PNG | — | lokata.png | — | savefig przed show | artefakt raportu |
import matplotlib.pyplot as plt
def seria_lokaty(kwota0, p, n_lat):
kwota = kwota0
lata, stany = [0], [kwota]
for n in range(1, n_lat + 1):
kwota = kwota * (1 + p)
lata.append(n)
stany.append(kwota)
return lata, stany
def wykres_lokaty(kwota0, p, n_lat, plik):
lata, stany = seria_lokaty(kwota0, p, n_lat)
plt.plot(lata, stany, marker="o")
plt.title(f"Lokata {kwota0} zł, {p * 100:.0f}% rocznie")
plt.xlabel("Rok")
plt.ylabel("Złote")
plt.grid(True)
plt.savefig(plik, dpi=120, bbox_inches="tight")
plt.show()
wykres_lokaty(1000, 0.05, 8, "lokata.png")
# wariant parametru — bez kopiowania pętli:
wykres_lokaty(1000, 0.08, 8, "lokata_8pct.png")
savefig musi być przed close/show w niektórych środowiskach. Jeśli plik jest pusty, przenieś savefig nad show.
To jest most do lekcji 15–17: ten sam przepis, tylko wtedy dopisujemy założenia lokaty.
Sprawdź się. Skąd powinny się brać punkty na wykresie modelu?
Ćwiczenia samodzielne
- Uruchom kod, znajdź lokata.png obok skryptu.
- Zmień p na 0.03 i 0.08 — dwa pliki albo dwie serie na jednym rysunku (lekcja 8).
- Zamiast lokaty: J = 28 − C dla C = 0..8, wykres C vs J. Tytuł z pytaniem.
- Dodaj drugą oś? Nie. Zostaw jeden wykres czytelny. Zamiast tego dopisz w komentarzu jednostkę i założenie 5%.
Odpowiedzi (dopiero po samodzielnej pracy)
- Plik w katalogu projektu Thonny / VS Code.
- 3%: wolniejszy wzrost; 8%: wyraźnie stromiej.
- Linia malejąca, przy C=8 jest J=20.
- Komentarz # założenie: procent stały, kapitalizacja raz w roku.