8.1 Teema Graafikute ja diagrammide loomine


Graafikute ja diagrammide loomine (Matplotlib)

1. Matplotlibi kasutamine

Pythonis kasutatakse graafikute loomiseks matplotlib.pyplot teeki.

import matplotlib.pyplot as plt


2. Graafikute tüübid

FunktsioonKirjeldus
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.