A vizualizáció célja:
Használt könyvtár:
Példa:
import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4]) plt.show()
Példa
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 5) y = x ** 2 plt.plot(x, y) plt.show()
Feladat? Hozz létre x = 0–10 közötti értékeket. Számold ki y = 2x + 1. Ábrázold.
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 11) y = 2 * x + 1 plt.plot(x, y) plt.show()
Példa:
plt.title("Grafikon címe")
plt.xlabel("X tengely")
plt.ylabel("Y tengely")
Feladat: Az előző grafikont egészítsd ki:
plt.plot(x, y)
plt.title("Lineáris függvény")
plt.xlabel("x érték")
plt.ylabel("y = 2x + 1")
plt.show()
Példa
x = np.arange(0, 10) plt.plot(x, x, label="y = x") plt.plot(x, x**2, label="y = x^2") plt.legend() plt.show()
Feladat:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10)
plt.plot(x, x, label="x")
plt.plot(x, x**2, label="x^2")
plt.plot(x, x**3, label="x^3")
plt.legend()
plt.title("Hatványfüggvények")
plt.show()
Példa
x = np.random.rand(50) y = np.random.rand(50) plt.scatter(x, y) plt.show()
Feladat: Generálj 100 véletlen pontot. Ábrázold scatter plotként
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y)
plt.title("Véletlen pontok")
plt.show()
1.feladat: Készíts a bevétel mátrixot. Számold ki az évenkénti összbevételt. Ábrázold oszlopdiagramon
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
bevetel = np.random.randint(100, 501, size=(3, 12))
ossz_bevetel = bevetel.sum(axis=1)
evek = ["1. év", "2. év", "3. év"]
plt.bar(evek, ossz_bevetel)
plt.title("Évenkénti bevétel")
plt.ylabel("Összeg")
plt.show()
2. Feladat – Függvények összehasonlító ábrázolása
import numpy as np import matplotlib.pyplot as plt
x = np.linspace(0, 10, 200)
y1 = x**2
y2 = np.sqrt(x)
plt.figure(figsize=(8,5))
plt.plot(x, y1, label="y = x^2", linestyle="-")
plt.plot(x, y2, label="y = sqrt(x)", linestyle="--")
plt.title("Függvények összehasonlítása")
plt.xlabel("X tengely")
plt.ylabel("Y tengely")
plt.legend()
plt.grid(True)
plt.show()
3. Feladat – Vizsgaeredmények vizualizálása
import numpy as np import matplotlib.pyplot as plt
np.random.seed(0)
pontok = np.random.randint(0, 101, (10, 4))
atlagok = np.mean(pontok, axis=0)
tantargyak = ["Matek", "Fizika", "Info", "Töri"]
plt.figure(figsize=(8,5))
bars = plt.bar(tantargyak, atlagok)
plt.title("Tantárgyi átlagpontszámok")
plt.xlabel("Tantárgy")
plt.ylabel("Átlagpontszám")
plt.grid(axis="y")
for bar in bars:
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width()/2, height,
f"{height:.1f}",
ha='center', va='bottom')
plt.show()
4. Feladat – Idősor vizualizáció
import numpy as np import matplotlib.pyplot as plt
np.random.seed(1)
napok = np.arange(365)
homerseklet = np.random.normal(20, 10, 365)
kernel = np.ones(7) / 7
mozgo_atlag = np.convolve(homerseklet, kernel, mode="valid")
plt.figure(figsize=(10,5))
plt.plot(napok, homerseklet, alpha=0.4, label="Napi hőmérséklet")
plt.plot(napok[6:], mozgo_atlag, linewidth=3, label="7 napos mozgóátlag")
hot_days = homerseklet > 30
plt.scatter(napok[hot_days], homerseklet[hot_days], marker="o")
plt.title("Éves hőmérséklet alakulása")
plt.xlabel("Nap")
plt.ylabel("Hőmérséklet (°C)")
plt.legend()
plt.grid(True)
plt.show()
5. Feladat – Mátrix vizualizáció (hőtérkép alap)
import numpy as np import matplotlib.pyplot as plt
np.random.seed(2)
matrix = np.random.rand(20, 20)
plt.figure(figsize=(6,6))
img = plt.imshow(matrix)
plt.colorbar(img)
plt.title("Véletlen mátrix hőtérkép")
plt.xlabel("Oszlop index")
plt.ylabel("Sor index")
plt.show()
6. Feladat – Bevételi adatok több grafikonon
import numpy as np import matplotlib.pyplot as plt
np.random.seed(3)
bevetel = np.random.randint(1000, 5000, (12, 3))
honapok = np.arange(1, 13)
plt.figure(figsize=(10,8))
#1. grafikon
plt.subplot(2,1,1)
plt.plot(honapok, bevetel[:,0], label="Üzlet 1")
plt.plot(honapok, bevetel[:,1], label="Üzlet 2")
plt.plot(honapok, bevetel[:,2], label="Üzlet 3")
plt.title("Havi bevételek")
plt.xlabel("Hónap")
plt.ylabel("Bevétel")
plt.legend()
plt.grid(True)
#2. grafikon
plt.subplot(2,1,2)
eves = np.sum(bevetel, axis=0)
plt.bar(["Üzlet 1", "Üzlet 2", "Üzlet 3"], eves)
plt.title("Éves bevétel üzletenként")
plt.xlabel("Üzlet")
plt.ylabel("Összes bevétel")
plt.grid(axis="y")
plt.tight_layout()
plt.show()