^ Á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** - Generálj 500 normál eloszlású adatot. - Készíts 2×2 subplot elrendezést. - Tartalmazza: - Vonaldiagram (kumulatív összeg) - Hisztogram - Scatter plot - Boxplot - Használj: - címet - tengelyfeliratokat - grid-et - legend-et - tengelykorlátot - annotate-et - style-t - tight_layout-ot 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()