6.1 Wykres kolumnowy grupowany
Matura maj 2023 - Matura z informatyki: arkusze krok po kroku (Python)
Druga część zadania 6.1: przy każdym miesiącu trzy kolumny obok siebie, po jednej na owoc (wykres kolumnowy grupowany). `plt.bar` rysuje jedną serię, więc każda seria jest przesunięta o szerokość kolumny, a `plt.xticks` podpisuje miesiące pod środkową kolumną. Za opis jest 1 pkt: tytuł, legenda (`label` + `plt.legend()`), miesiące na osi X i opis osi Y.
deliveries = []
with open("owoce_przyklad.txt") as f:
f.readline() # wiersz nagłówkowy
for line in f:
day, raspberries, strawberries, currants = line.split("\t")
deliveries.append((day, int(raspberries), int(strawberries), int(currants)))
# 6.1 miesiąc z daty dd.mm.rrrr to znaki 3-4
MONTHS = {"05": "maj", "06": "czerwiec", "07": "lipiec", "08": "sierpień", "09": "wrzesień"}
summary = {}
for day, raspberries, strawberries, currants in deliveries:
month = MONTHS[day[3:5]]
if month not in summary:
summary[month] = [0, 0, 0]
summary[month][0] += raspberries
summary[month][1] += strawberries
summary[month][2] += currants
# wykres kolumnowy grupowany: trzy kolumny (owoce) przy każdym miesiącu
import matplotlib.pyplot as plt
months = list(summary)
width = 0.25
for k, fruit in enumerate(["maliny", "truskawki", "porzeczki"]):
positions = [m + (k - 1) * width for m in range(len(months))] # przesunięcie serii
plt.bar(positions, [summary[month][k] for month in months], width, label=fruit)
plt.xticks(range(len(months)), months)
plt.xlabel("miesiąc")
plt.ylabel("dostawy [kg]")
plt.title("Dostawy owoców do przetwórni w 2020 roku")
plt.legend()
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.