Vytváranie vykreslení a grafov pomocou jazyka Python v Exceli

Vzťahuje sa na
Excel pre Microsoft 365 Excel pre Microsoft 365 pre Mac

Informácie o dostupnosti nájdete v časti Dostupnosť Pythonu v Exceli. Ak narazíte na akékoľvek problémy s Pythonom v Exceli, nahláste ich výberomPripomienkyk Pomocníkovi> v Exceli.

Začínate s Pythonom v Exceli? Začnite úvodom do Pythonu v Exceli a Začíname s Pythonom v Exceli.

Používanie open-source knižníc jazyka Python na vytvorenie vykreslení a grafov

Python v Exceli obsahuje základnú množinu knižníc jazyka Python, ktoré poskytuje spoločnosť Anaconda. Tento článok popisuje, ako používať knižnice jazyka Python, ako sú napríklad seaborn a Matplotlib, na vytváranie vykreslení a grafov. Ďalšie informácie o open-source knižniciach, ktoré sú k dispozícii v Pythone v Exceli, nájdete v téme Open-source knižnice a Python v Exceli.

V príkladoch v tomto článku sa používa množina údajov kvetov kosatcov. Stiahnite si tento vzorový zošit a pokračujte podľa tohto článku: python-in-excel-iris-dataset.xlsx.

Vytvorenie párovej parcely so seaborn

Tento príklad ukazuje, ako vytvoriť vizualizáciu párového grafu množiny údajov kvetov dúhovky. Párový graf je matica vykreslení a grafov, ktorá porovnáva vzťahy medzi jednotlivými premennými v množine údajov. V tomto prípade obsahuje množina údajov kvetov Iris štyri stĺpce číselných údajov: sepal_length, sepal_width, petal_length a petal_width.

Použite jazyk Python v Exceli na vytvorenie párového grafu s knižnicou Seaborn.

Python v Exceli vytvorí vizualizáciu s knižnicou seaborn . Knižnica seaborn sa automaticky importuje pre jazyk Python v Exceli pomocou nasledujúceho príkazu import, čo vám umožní odkazovať na ňu pomocou aliasu sns.

import seaborn as sns

Ak chcete vytvoriť párový graf množiny údajov kvetov Iris s knižnicou Seaborn, vykonajte nasledujúce kroky:

  1. Do bunky jazyka Python v Exceli zadajte nasledujúci zlomok kódu. Zlomok kódu uloží graf páru ako premennú s názvom pairplot. Vytvorí párový graf s aliasom knižnice seaborn sns a funkciou seaborn pairplot.

    pairplot = sns.pairplot(xl("Table1[#All]", headers=True))

    Ako argument pre funkciu PAIRPLOT používa zlomok kódu vlastnú funkciu Pythona xl() a odkazuje na prvú tabuľku v hárku Tabuľka1. Obsahuje celý obsah tabuľky (ako [#All]) a poznamenáva, že tabuľka obsahuje riadok hlavičky (as headers=True). V tomto príklade tabuľka1 v hárku obsahuje množinu údajov Iris.

    Pozrite si ukážku párového grafu v údajovom rámci.

    Poznámka

    Ak narazíte na nejaké chyby, ďalšie informácie nájdete v téme Riešenie problémov s chybami jazyka Python v Exceli .

  2. Po potvrdení vzorca jazyka Python v Exceli vráti vizualizáciu párového grafu v objekte obrázka. Ak chcete zobraziť ukážku vizualizácie, vyberte ikonu karty v bunke objektu obrázka.

    Pozrite si ukážku zobrazenia na karte údajového rámca.

  3. Ponechajte vizualizáciu ako objekt obrázka, aby ste ju mohli naďalej používať na výpočty v jazyku Python. Extrahujte obrázok do mriežky Excelu, aby ste zmenili jeho veľkosť a zobrazili všetky oblasti podrobnejšie. Ak chcete extrahovať obrázok do mriežky, kliknite pravým tlačidlom myši alebo stlačte kombináciu klávesov Ctrl + kliknite na bunku obsahujúcu objekt obrázka a z ponuky vyberte položku Zobraziť zobrazovanie nad bunkami .

    Ďalšie informácie o extrahovaní obrázkových objektov nájdete v tomto článku v časti Extrahovanie objektu obrázka do mriežky Excelu .

Vytvorenie bodového grafu pomocou funkcie Matplotlib

Tento príklad popisuje, ako vytvoriť bodový graf so vzorovou množinou údajov kvetu Iris. Bodový graf zobrazuje vzťah medzi dvoma číselnými premennými v množine údajov. V tomto príklade sa vytvorí bodový graf podobný nasledujúcej snímke obrazovky, v ktorom sa porovnávajú hodnoty sepal_width a sepal_length .

Použite jazyk Python v Exceli na vytvorenie bodového grafu s knižnicou matplotlib.

Python v Exceli vytvorí vizualizáciu pomocou open-source knižnice Matplotlib . Knižnica Matplotlib sa automaticky importuje pre jazyk Python v Exceli pomocou nasledujúceho príkazu importu, čo vám umožní odkazovať na ňu ako na plt.

import matplotlib.pyplot as plt

Ak chcete vytvoriť bodový graf množiny údajov kvetov Iris s knižnicou Matplotlib, postupujte takto:

  1. V bunke jazyka Python v Exceli použite funkciu Matplotlib Scatter a ako argumenty zadajte stĺpce sepal_length a sepal_width množiny údajov Iris. V tomto príklade tabuľka1 v hárku obsahuje množinu údajov Iris.

    plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Pridajte označenia a názov do bodového grafu.

    # Label the x and y axes of the plot.
    plt.xlabel('sepal_length')
    plt.ylabel('sepal_width')

    # Add a title to the plot.
    plt.title('Sepal length and width analysis')

    Poznámka

    Tento úryvok kódu môžete pridať ako ďalší riadok kódu za vzorec jazyka Python v predchádzajúcom kroku do tej istej bunky v Exceli alebo ho môžete zadať do novej bunky jazyka Python v exceli v zošite. Ak sa rozhodnete, že ho chcete zadať do novej bunky, uistite sa, že dodržiavate pravidlá poradia výpočtu hlavného riadka a zadajte ho za prvú bunku.

  3. Po potvrdení vzorcov jazyka Python vráti Python v Exceli vizualizáciu bodového grafu ako objekt obrázka. Ak chcete zobraziť ukážku vizualizácie, vyberte ikonu karty v bunke objektu obrázka.

    Zobrazenie ukážky bodového grafu v údajovom rámci.

    Poznámka

    Ak narazíte na nejaké chyby, ďalšie informácie nájdete v téme Riešenie problémov s chybami jazyka Python v Exceli .

  4. Ponechajte vizualizáciu ako objekt obrázka, aby ste ju mohli naďalej používať na výpočty v jazyku Python. Extrahujte obrázok do mriežky Excelu, aby ste zmenili jeho veľkosť a zobrazili dej podrobnejšie. Ak chcete extrahovať obrázok do mriežky, kliknite pravým tlačidlom myši alebo stlačte kombináciu klávesov Ctrl + kliknite na bunku obsahujúcu objekt obrázka a z ponuky vyberte položku Zobraziť zobrazovanie nad bunkami .

    Ďalšie informácie o extrahovaní obrázkových objektov nájdete v tomto článku v časti Extrahovanie objektu obrázka do mriežky Excelu .

Extrahovanie objektu obrázka do mriežky programu Excel

Ako ukazujú príklady v tomto článku, knižnice jazyka Python, ako sú Seaborn a Matplotlib, môžu vrátiť vizualizácie údajov do buniek Excelu. Python v Exceli predvolene vráti tieto vizualizácie ako objekty obrázkov.

Ak chcete zobraziť ukážku vizualizácie, vyberte ikonu karty v bunke objektu obrázka.

Pozrite si ukážku zobrazenia na karte údajového rámca.

Existujú dva spôsoby, ako extrahovať obrázok do mriežky programu Excel: zobraziť obrázok ako graf nad bunkami alebo zobraziť obrázok v bunke.

Zobrazenie obrázka nad bunkami

Ak chcete obrázok zobraziť ako graf nad bunkami, postupujte podľa týchto krokov.

  1. Kliknite pravým tlačidlom myši alebo Ctrl + kliknite na bunku s obrázkom a v ponuke vyberte položku Zobraziť vykreslenie cez bunky (alebo použite klávesovú skratku Ctrl+Alt+Shift+C). Vytvorí sa kópia obrázka, ktorá sa nachádza nad mriežkou Excelu a dá sa ľahko zmeniť jej veľkosť. Pôvodný objekt obrázka zostane v pôvodnej bunke.

  2. Ak chcete presúvať obrázok oblasti, vyberte a presuňte ho v hárku. Vyberte a presuňte uzly v rohoch a po stranách obrázka a zmeňte jeho veľkosť.

    Vytvorte vizualizáciu plávajúcej oblasti pomocou ikony Vytvoriť odkaz.

Zobrazenie obrázka v bunke

Ak chcete obrázok zobraziť v bunke, postupujte podľa týchto krokov.

  1. Vráti objekt obrázka ako excelovú hodnotu. Vyberte bunku objektu obrázka, prejdite na ponuku výstupu Pythona v riadku vzorcov a vyberte položku Hodnota Excelu.

    Ak chcete zmeniť typ výstupu, použite ponuku výstupu jazyka Python vedľa riadka vzorcov.

    Obrázok vynesenej oblasti sa teraz zobrazí v bunke.

    Tip

    Ak chcete prepínať výsledky vzorca Pythonu medzi objektmi Pythonu a hodnotami Excelu, použite klávesovú skratku Ctrl+Alt+Shift+M. Ak sa chcete dozvedieť viac o klávesových skratkách, pozrite si Python v Exceli klávesové skratky.

  2. Veľkosť obrázka oblasti závisí od veľkosti bunky. Zväčšite veľkosť obrázka zväčšením bunky alebo zlúčením buniek.

Používanie rôznych písiem v jazykoch iných ako angličtina

Ak chcete zobraziť v grafe údaje, ktoré používajú znaky iné ako latinka, ako napríklad čínština, kórejčina alebo thajčina, použite .excel.FontPath Python v Exceli predvolene vykresľuje znaky, ktoré nie sú v latinke, ako prázdny štvorec ("□"). Ak chcete vyriešiť tento problém, excel.FontPath umožňuje vám použiť excel modul na vyvolanie iného písma a vykreslenie znakov.

K dispozícii sú nasledujúce písma. Atribút sa pripojí do kódu excel.FontPath jazyka Python. Cesta odkazuje na súbor písma, ktorý sa volá atribútom.

Atribút Cesta
BENGÁLČINA /usr/share/fonts/Vrinda.ttf
CHINESE_SIMPLIFIED /usr/share/fonts/SimSun.ttf
CHINESE_TRADITIONAL /usr/share/fonts/MingLiU.ttf
HINDČINA /usr/share/fonts/Mangal.ttf
JAPONČINA /usr/share/fonts/Meiryo.ttf
KÓREJČINA /usr/share/fonts/Batang.ttf
THAJČINA /usr/share/fonts/THSarabunPSK.ttf

Použite Excel. FontPath na zobrazenie zjednodušených označení oblasti pre čínštinu

Nasledujúca snímka obrazovky zobrazuje graf s označeniami oblasti napísanými v zjednodušenej čínštine pomocou excel.FontPathznakov . Ukážka kódu po snímke obrazovky ukazuje, ako používať excel.FontPath.CHINESE_SIMPLIFIED na zobrazenie znakov zo zjednodušenej čínskej knižnice.

Graf so znakmi, ktoré sa správne vykresľujú

Ukážka kódu pomocou Excelu. FontPath (CestaPísma)

Táto ukážka kódu znázorňuje, ako vygenerovať excel.FontPath.CHINESE_SIMPLIFIED graf a zjednodušené čínske znaky v označeniach oblasti, ktoré sa zobrazujú na predchádzajúcej snímke obrazovky.

-

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

# Set the font path. This returns '/usr/share/fonts/simsun.ttf'.
font_path = excel.FontPath.CHINESE_SIMPLIFIED

# Point the properties to the font path.
font_properties = FontProperties(fname=font_path)
plt.rcParams['font.family'] = font_properties.get_name()

# Make the plot.
myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.
plt.show()