User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:matplotlib_i._alap_plotok

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tanszek:oktatas:muszaki_informatika:matplotlib_i._alap_plotok [2026/02/27 07:59] – created szabomtanszek:oktatas:muszaki_informatika:matplotlib_i._alap_plotok [2026/02/27 08:14] (current) – [Összefoglaló feladatok] szabom
Line 138: Line 138:
  
  
-1.feladat: Készíts a bevétel mátrixot. Számold ki az évenkénti összbevételt. Ábrázold oszlopdiagramon+**1.feladat: Készíts a bevétel mátrixot. Számold ki az évenkénti összbevételt. Ábrázold oszlopdiagramon**
  
 <sxh python> <sxh python>
Line 156: Line 156:
 </sxh> </sxh>
  
 +**2. Feladat – Függvények összehasonlító ábrázolása**
  
 +  - Generálj 0 és 10 közötti 200 pontot.
 +  - Ábrázold egy grafikonon:
 +      * ​y = x^2
 +      * y = ✔x
 +  - Adj címet az ábrának.
 +  - Jelöld a tengelyeket.
 +  - Adj jelmagyarázatot.
 +  - Használj különböző vonalstílust.
 +
 +<sxh python> 
 +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()
 +</sxh>
 +
 +**3. Feladat – Vizsgaeredmények vizualizálása**
 +
 +  - Generálj egy 10×4-es pontszám mátrixot (0–100).
 +  - Számold ki tantárgyanként az átlagot.
 +  - Készíts oszlopdiagramot az átlagokról.
 +  - Állíts be:
 +     - címet
 +     - tengelyfeliratokat
 +     - rácsvonalat
 +  - Ábrázold az átlagértékeket a sávok felett.
 +
 +<sxh python> 
 +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()
 +</sxh>
 +
 +**4. Feladat – Idősor vizualizáció**
 +
 +  - Generálj 365 napos hőmérséklet adatot.
 +  - Számíts 7 napos mozgóátlagot.
 +  - Ábrázold:
 +     - napi adatokat halvány vonallal
 +     - mozgóátlagot vastag vonallal
 +  - Adj címet és tengelyfeliratokat.
 +  - Emeld ki a 30°C feletti napokat külön jelöléssel.
 +
 +<sxh python> 
 +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()
 +</sxh>
 +
 +**5. Feladat – Mátrix vizualizáció (hőtérkép alap)**
 +
 +  - Generálj 20×20-as véletlen mátrixot.
 +  - Ábrázold imshow() segítségével.
 +  - Adj színskálát (colorbar).
 +  - Adj címet.
 +  - Jelöld a tengelyeket.
 +
 +<sxh python> 
 +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()
 +</sxh>
 +
 +**6. Feladat – Bevételi adatok több grafikonon**
 +
 +  - Generálj 12 hónap × 3 üzlet bevételi adatot.
 +  - Ábrázold:
 +     - vonaldiagramon az üzletek havi bevételét
 +     - külön grafikonon az éves összbevételt oszlopdiagramként
 +  - Használj subplot()-ot.
 +  - Adj címeket és jelmagyarázatot.
 +
 +<sxh python> 
 +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()
 +</sxh>
tanszek/oktatas/muszaki_informatika/matplotlib_i._alap_plotok.1772179179.txt.gz · Last modified: 2026/02/27 07:59 by szabom