Graafikute ja diagrammide loomine (Matplotlib)
1. Matplotlibi kasutamine
Pythonis kasutatakse graafikute loomiseks matplotlib.pyplot teeki.
import matplotlib.pyplot as plt
2. Graafikute tüübid
| Funktsioon | Kirjeldus |
|---|---|
plot() | Joongraafik (nt trendid) |
scatter() | Hajusdiagramm (punktid) |
bar() | Tulpdiagramm |
hist() | Histogramm |
pie() | Sektordiagramm |
3. Lihtne näide
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
plt.plot(x, y)
plt.title("Lihtne joongraafik")
plt.xlabel("X-telg")
plt.ylabel("Y-telg")
plt.show()
4. Kujundamine
Joone stiilid: '-', '--', ':', '-.'
Markerid: 'o', '^', 's', 'D', '*'
Värvid: 'blue', 'red', 'green', HEX (#FF5733), paletid
Näide kahe joonega:
x = [0, 1, 2, 3, 4]
y1 = [0, 1, 4, 9, 16]
y2 = [16, 9, 4, 1, 0]
plt.plot(x, y1, linestyle='-', marker='o', color='blue', label="Tõusev")
plt.plot(x, y2, linestyle='--', marker='x', color='green', label="Laskuv")
plt.title("Kahe joone graafik")
plt.xlabel("X-telg")
plt.ylabel("Y-telg")
plt.legend()
plt.grid(True)
plt.show()
5. Andmete lugemine ja tulpdiagramm
Fail: rahvaarv.txt (nt: Tallinn 452412)
Ülesanne: lugeda andmed, arvutada statistika ja kuvada diagramm.
import numpy as np
import matplotlib.pyplot as plt
linnad, rahvaarvud = [], []
with open("rahvaarv.txt", encoding="utf-8") as f:
for rida in f:
osad = rida.strip().split()
linnad.append(" ".join(osad[:-1]))
rahvaarvud.append(int(osad[-1]))
arvud_np = np.array(rahvaarvud)
print(f"Koguarv: {arvud_np.sum()}")
print(f"Keskmine: {arvud_np.mean():.1f}")
print(f"Suurim: {linnad[np.argmax(arvud_np)]}")
print(f"Väikseim: {linnad[np.argmin(arvud_np)]}")
plt.figure(figsize=(10, 6))
plt.bar(linnad, rahvaarvud, color="skyblue")
plt.title("Eesti linnade rahvaarv")
plt.xlabel("Linn")
plt.ylabel("Elanike arv")
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig("rahvaarvud_diagramm.png")
plt.show()
6. Kokkuvõte
- Matplotlib võimaldab luua erinevaid graafikuid väga lihtsalt.
- Graafik peab olema loetav ja selge: lisa pealkirjad, legend, teljed, värvid.
- Andmete visualiseerimine on oluline oskus: aitab näha mustreid ja teha järeldusi.

