Přeskočit na obsah

Vizualizace dat

Uvažujme proměnnou s názvem df, ve které budou uloženy data z Excelu se sloupci datum, typ kurzu, název kurzu, typ zákazníka, počet a cena, na kterých se bude provádět výběr dat. Základní charakteristika dat je následující:

df = xl(„A1:F105“, headers=True)

df.info()

Pro vizualizaci se používají 2 nejznámější knihovny, které jsou již zabudované v Excelu, a to:

  • Matplotlib
  • Seaborn

Pro zobrazení grafu z pythonu do Excelu je nutné nejprve zobrazit excelovskou hodnotu a kliknout na tlačítko grafu

Základní knihovna pro vizualizaci dat je matplotlib, která poskytuje flexibilní nástroje pro vytváření různých typů grafů. V excelu naimportována zkratkou plt.

Vytváří v základním nastavení spojnicový graf. Je možné určit jiný typ grafu.

Funkce má nespočet argumentů (vysvětleno pouze pár nejdůležitějších z nich), díky kterým lze graf formátovat, jelikož může být vytvořen pomocí funkce i jiný graf než pouze spojnicový. Některé argumenty lze použít pouze pro specifický typ grafu. Pro většinu grafu však existuje vlastní funkce a není tak nutné používat funkci „plot“ s argumentem „kind“ pro jiný druh grafu.

x (array) – Hodnoty na ose x.

y (array) – Hodnoty na osu y.

kind (str, výchozí=‘line‘) – druh grafu:

  • ‘line’ : spojnicový graf
  • ‘bar’ : sloupcový graf
  • ‘barh’ : pruhový graf
  • ‘hist’ : histogram
  • ‘box’ : boxplot
  • ‘kde’ : Kernel Density Estimation graf
  • ‘density’ : stejný jako ‚kde‘
  • ‘area’ : Plošný graf
  • ‘pie’ : Koláčový graf
  • ‘scatter’ : Bodový graf
  • ‘hexbin’ : hexbin graf

ax (object, výchozí=None) – Osy aktuálního obrázku.

subplots (bool, výchozí=False) – Zdali má být v rámci jednoho objektu více grafů.

figsize (tuple (šířka, výška) v palcích) – Velikost objektu obrázku

label (str, volitelný) – Popisek pro legendu.

legend (bool) – Vloží legendu na osu subplotu.

title (str, volitelný) – Nadpis grafu

color (str, volitelný) – Barva čáry.

linestyle (str, volitelný) – Styl čáry (např. ‚–‚ pro přerušovanou čáru)

marker (str, volitelný): Značka pro body (např. ‚o‘, ‚x‘)

xticks (sequence) – Vypsané hodnoty na ose x.

yticks (sequence) – Vypsané hodnoty na ose y.

plt.plot(df[‚Datum‘], df[‚Cena‘]) – Obyčejný graf s x-ovou osou sloupce „Datum“ a y-ovou osou „Cena“.

plt.plot(df[‚Datum‘], df[‚Cena‘], color=’green‘, marker=’o‘, label=’Cena‘, linestyle=‘–‚) – Stejný graf jako v předešlém příkladu s více formátováním. Barva nastavena na zelenou, značky nastavené na kolečko, popisek nastaven na slovo „Cena“, styl čáry na přerušovanou.

Pro viditelnost popisku je nutné do nového řádku zadat kód plt.legend().

df.groupby(‚Typ kurzu‘)[‚Cena‘].sum().plot(kind=’bar‘, color=’green‘) – Zobrazení sloupcového grafu dle typů kurzu a součtu celkových zaplacených cen dle jednotlivých kategorií ve sloupci. Je nutné nejprve použít funkci groupby na dataframe a využít danou statistickou funkci (zde sum) pro zobrazení sloupcového grafu.

df.groupby(‚Typ kurzu‘)[‚Cena‘].sum().plot(kind=’pie‘) – Koláčový graf nad seskupenými daty.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

df[[‚Cena‘, ‚Počet‘]].to_numpy().sum() – Vypočte jeden součet na základě více sloupců.

Vytváří sloupcový graf.

Funkci lze nastavit další argumenty pro úpravu grafu. Tato funkce slouží pro sloupcový graf, více typů grafů lze použít pomocí funkce plot. Nejprve je nutné mít data správně seskupená např. pomocí funkce groupby, aby bylo možné vytvářet sloupcový graf. Pokud je použita funkce groupby, bude potřebné i resetovat index pomocí funkce reset_index. Za daný graf lze opět pomocí knihovny zobrazit nadpis, popisy os a ostatní úpravy. Funkce má nespočet argumentů, které lze najít v dokumentaci, lze jsou uvedeny nejběžnější argumenty.

x – Data na osu x.

y – data na osu y.

height (array) – výška sloupců.

width (float, volitelný) – Šířka sloupců (výchozí 0.8).

color (str nebo array) – Barva sloupců.

new_df = df.groupby(‚Typ kurzu‘)[‚Cena‘].sum().reset_index() – Seskupení data a resetování indexu

plt.bar(new_df[‚Typ kurzu‘], new_df[‚Cena‘]) – Sloupcový graf se seskupenými daty, kdy na ose x je typ kurzu a v hodnotách cena.

plt.show() – kód pro zobrazení grafu

Vytvoří histogram z dat, kde je možné specifikovat počet sloupců (škálu) histogramu.

Histogram je automaticky vytvořen v intervalech od nejnižší po nejvyšší hodnotu v datech. Interval je rozdělen rovnoměrně pro každý sloupec, ačkoliv je nastaven argument „bins“ na určité číslo. Pokud je potřené mít pro jednotlivé intervaly nerovnoměrné rozdělení, musí být intervaly specifikovány v listu daného argumentu. Za daný graf lze opět pomocí knihovny zobrazit nadpis, popisy os a ostatní úpravy. Funkce má nespočet argumentů, které lze najít v dokumentaci, lze jsou uvedeny nejběžnější argumenty.

x (array) – Data, která se mají zobrazit.

bins (int nebo sequence, volitelný) – Počet nebo hranice intervalů.

color (str, volitelný) – Barva sloupců.

rwidth (float) – Šířka sloupců v histogramu mezi hodnotou 0 a 1. Pokud má být v histogramu určitá mezera mezi sloupci, je nutné nastavíš šířku menší než 1.

plt.hist(x=df[‚Cena‘], bins=4, color=’purple‘) – Histogram se 4 sloupci fialové barvy.

plt.hist(x=df[‚Cena‘], bins=4, color=’purple‘, rwidth=0.8) – Histogram se 4 sloupci fialové barvy s menší šířkou sloupců.

plt.hist(x=df[‚Cena‘], bins=[4000, 10000, 12000, 14000, 20000], color=’purple‘, rwidth=0.8) – Vlastní interval sloupců v listu, kdy první interval je v rozpětí 6000, druhý ale např. pouze v rozpětí 2 000.

Vytvoří bodový graf.

Bodový graf slouží zejména k zobrazení vztahu mezi dvěma numerickými proměnnými. Každý bod na grafu reprezentuje jeden záznam (datový bod) a jeho pozice je dána hodnotami těchto dvou proměnných. Funkce má nespočet argumentů, které lze najít v dokumentaci, lze jsou uvedeny nejběžnější argumenty.

x, y (array) – Data na osu x a y.

s (float nebo array, volitelný) – Velikost bodů.

c (color nebo sequence, volitelný) – Barva bodů.

alpha (float) – Průhlednost bodů v grafu. Rozmezí je od 0 (průhledný) do 1 (neprůhledný). Hodí se zejména v případech, kdy je v datech spoustu bodů, které se překrývají.

plt.scatter(df[‚Cena‘], df[‚Počet‘]) – Základní bodový graf mezi sloupcem Počet a Cena. Mezi sloupci v datech lze vidět, že mezi nimi není přímá souvislost.

plt.scatter(df[‚Cena‘], df[‚Počet‘], s=200, c=’green‘) – Bodový graf s většími body a zelenou barvou.

plt.scatter(df[‚Cena‘], df[‚Počet‘], s=200, c=’green‘, alpha=0.5) – Poloviční průhlednost bodů.

Vytváří koláčový graf.

Pro koláčový graf je nejprve nutné mít data seskupená pro správné zobrazení do grafu. Funkce má nespočet argumentů, které lze najít v dokumentaci, lze jsou uvedeny nejběžnější argumenty.

x (array) – Velikosti segmentů.

labels (list, volitelný) – Popisky segmentů.

colors (list of colors) – Posloupnost barev koláčového grafu.

autopct (str, volitelný) – Automatické zobrazení procent s formátováním (např. ‚%1.1f%%‘).

pctdistancefloat (float, výchozí=0.6) – Relativní vzdálenost podél poloměru, ve kterém je vykreslen text generovaný argumentem autopct. Pokud text má být mimo graf, argument musí být nastaven vyšší než 1. Tento parametr je ignorován, pokud je autopct nastaveno na „None“.

labeldistance (float nebo None, výchozí= 1.1) – Relativní vzdálenost podél poloměru, ve kterém je vykreslen popisek vygenerovaný argumentem labels. Pokud má být popisek uvnitř grafu, hodnota musí být nižší než 1. Pokud je nastaveno na „None“, popisek nebude viditelný, ale bude stále uložen v legendě pro jeho zobrazení.

shadow (bool nebo dict, výchozí=False) – Pokud „True“, graf bude obsahovat stín.

Nejprve je nutné data seskupit dle kategorie, která má být zobrazena:

df = df.groupby(‚Typ kurzu‘)[‚Cena‘].sum().reset_index()

plt.pie(df[‚Cena‘], labels=df[‚Typ kurzu‘], autopct=’%1.1f%%‘) – Koláčový graf s popisky a formátováním procent na jedno desetinné místo.

plt.pie(df[‚Cena‘], labels=df[‚Typ kurzu‘], autopct=’%1.1f%%‘, pctdistance=1.4) – Procenta mimo graf u popisků.

Knihovna staví na Matplotlib a poskytuje elegantní grafy s jednodušší syntaxí. V excelu naimportována zkratkou sns.

Vytváří heatmapu dat (např. korelace).

data (2D array) – Matice hodnot.

annot (bool, výchozí=False) – Zobrazení hodnot v buňkách.

vmin (float, volitelný) – Minimální hodnota v colormap pro dané spektrum barev. Pokud nenastaveno, automaticky nastaví graf dle hodnot zadaných do grafu.

vmax (float, volitelný) – Maximální hodnota v colormap pro dané spektrum barev.

cmap (matloplib colormap název nebo objekt nebo list barev) – Mapování z datových hodnot do barevného prostoru. Pokud není zadáno, výchozí nastavení bude záviset na tom, zda je nastaven argument „center“.

center (float, volitelný)- Hodnota, na kterou se má mapa barev vycentrovat při vykreslování divergentních dat. Použití tohoto parametru změní výchozí argument cmap, pokud není zadán.

sns.heatmap(df.corr(), annot=True) – Graf korelace s popiskami. Čím je hodnota blíže 1, tím je žlutá, čím je nižší, tím je více černá.

sns.heatmap(df.corr(), annot=True, cmap=’crest‘, vmin=-1, vmax=1) – Heatmap s nastavenou minimální a maximální hodnotou a paleto barev „crest“.

© 2026 Excelland