| Ábra és tengely létrehozás | |
|---|---|
| plt.figure() | Új üres ábra létrehozása. Méret (figsize) állítható. |
| plt.subplots() | Ábra + subplot rács létrehozása. |
| Alap grafikon típusok | |
| plot(x, y) | Vonaldiagram. |
| scatter(x, y) | Pontdiagram. |
| bar(x, height) | Oszlopdiagram. |
| hist(data, bins=…) | Hisztogram (eloszlás vizsgálat). |
| boxplot(data) | Dobozdiagram (medián, kvartilisek, outlierek). |
| imshow(matrix) | 2D mátrix vizualizáció (hőtérkép jelleg). |
| Címek és tengelyfeliratok | |
| set_title(“…”) / plt.title() | Grafikon címe. |
| set_xlabel() / set_ylabel() | Tengelyfeliratok. |
| Tengelyek kezelése | |
| set_xlim() / set_ylim() | Tengelyhatárok beállítása. |
| set_xticks() / set_yticks() | Tick pozíciók megadása. |
| tick_params() | Tick formázás. |
| Jelmagyarázat | |
| legend() | Jelmagyarázat megjelenítése. |
| Rács és stílus | |
| grid(True) | Rácsvonalak |
| plt.style.use(“style”) | Beépített stílus alkalmazása. |
| Layout | |
| tight_layout() | Automatikus igazítás (ne fedjék egymást a címek). |
| subplots_adjust() | Finom manuális layout szabályozás. |
| Extra vizualizációs elemek | |
| colorbar() | Színskála (imshow, scatter esetén). |
| annotate() | Felirat beszúrása grafikonra. |
Feladat
import numpy as np import matplotlib.pyplot as plt
#Stílus
plt.style.use("ggplot")
#Adat generálás
np.random.seed(42)
data = np.random.randn(500)
x = np.arange(len(data))
#Ábra és subplotok
fig, axs = plt.subplots(2, 2, figsize=(12, 8))
#1. VONALDIAGRAM
cumsum = np.cumsum(data)
axs[0,0].plot(x, cumsum, label="Kumulatív összeg")
axs[0,0].set_title("Vonaldiagram")
axs[0,0].set_xlabel("Index")
axs[0,0].set_ylabel("Érték")
axs[0,0].legend()
axs[0,0].grid(True)
#Tengelykorlát
axs[0,0].set_xlim(0, 500)
#Annotáció (maximum jelölése)
max_idx = np.argmax(cumsum)
axs[0,0].annotate("Maximum",
xy=(max_idx, cumsum[max_idx]),
xytext=(max_idx, cumsum[max_idx]+10),
arrowprops=dict())
#2. HISZTOGRAM
axs[0,1].hist(data, bins=30)
axs[0,1].set_title("Hisztogram")
axs[0,1].set_xlabel("Érték")
axs[0,1].set_ylabel("Gyakoriság")
axs[0,1].grid(True)
#3. SCATTER
y = np.random.randn(500)
sc = axs[1,0].scatter(data, y)
axs[1,0].set_title("Scatter plot")
axs[1,0].set_xlabel("X")
axs[1,0].set_ylabel("Y")
axs[1,0].grid(True)
#4. BOXPLOT
axs[1,1].boxplot(data)
axs[1,1].set_title("Boxplot")
axs[1,1].grid(True)
#Layout optimalizálás
plt.tight_layout()
plt.show()