7.3 Wykres kolumnowy

Matura maj 2024 - Matura z informatyki: arkusze krok po kroku (Python)

Druga część zadania 7.3: wykres kolumnowy z biblioteki **matplotlib**. Podpis kolumny na osi X to nazwa miesiąca połączona z odmianą (tak wymaga polecenie), więc nazwy są długie: `plt.xticks(rotation=60)` je obraca, a `plt.tight_layout()` zostawia na nie miejsce. Za opis jest 1 pkt: tytuł, opis osi Y oraz miesiące i odmiany na osi X.

prices = {}
with open("cennik.txt", encoding="utf-8") as f:
    for line in f:
        variety, price = line.rstrip("\n").split("\t")
        prices[variety] = float(price.replace(",", "."))  # cena z przecinkiem dziesiętnym

sales = []
with open("jablka_przyklad.txt", encoding="utf-8") as f:
    for line in f:
        day, variety, kind, nip, kg = line.rstrip("\n").split("\t")
        sales.append((day, variety, kind, nip, int(kg)))

# 7.3 sprzedaż odmian w miesiącach (klucz: numer miesiąca i odmiana), potem najlepsza w miesiącu
MONTHS = ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień",
          "wrzesień", "październik", "listopad", "grudzień"]
monthly = {}
for day, variety, kind, nip, kg in sales:
    key = (int(day[5:7]), variety)
    monthly[key] = monthly.get(key, 0) + kg
popular = {}
for (month, variety), kg in monthly.items():
    if month not in popular or kg > popular[month][1]:
        popular[month] = (variety, kg)
labels = [MONTHS[month - 1] + "-" + popular[month][0] for month in sorted(popular)]
values = [popular[month][1] for month in sorted(popular)]

print("7.3")
for label, value in zip(labels, values):
    print(label, value)

# wykres kolumnowy: podpis każdej kolumny = miesiąc i odmiana
import matplotlib.pyplot as plt

plt.figure(figsize=(10, 5))
plt.bar(labels, values)
plt.xticks(rotation=60)
plt.xlabel("miesiąc i najpopularniejsza odmiana")
plt.ylabel("sprzedaż [kg]")
plt.title("Najpopularniejsze odmiany jabłek w miesiącach 2022 roku")
plt.tight_layout()
plt.show()

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.