Vytváranie vykreslenia a grafov pomocou jazyka Python v Exceli
Applies To
Excel pre Microsoft 365Jazyk Python v Exceli je teraz k dispozícii pre podnikových a podnikových používateľov, ktorí vo Windowse spúšťajú aktuálny kanál od verzie 2408 (zostava 17928.20114) a mesačného kanála Enterprise vo Windowse od verzie 2408 (zostava 17928.20216). Od verzie 2405 (zostava 17628.20164) je k dispozícii vo verzii Preview pre rodinných a osobných používateľov, ktorí používajú aktuálny kanál vo Windowse. Jazyk Python v Exceli je k dispozícii v režime ukážky pre používateľov programu Education, ktorí spúšťajú aktuálny kanál (Preview) prostredníctvom programu Microsoft 365 Insider Program. Momentálne nie je k dispozícii pre kanál Semi-Annual Enterprise.
Najskôr sa zavádza do Excelu pre Windows a neskôr do iných platforiem. Ďalšie informácie o dostupnosti nájdete v téme Dostupnosť jazyka Python v Exceli.
Ak narazíte na problémy s jazykom Python v Exceli, nahláste ich výberom položky Pomocník > pripomienky v Exceli.
Začínate s Pythonom v Exceli? Začnite úvodom do jazyka Python v Exceli a začnite pracovať s jazykom Python v Exceli.
Používanie open-source knižníc jazyka Python na vytváranie vykreslenia a grafov
Jazyk Python v Exceli obsahuje základnú množinu knižníc jazyka Python, ktoré poskytuje Anaconda. V tomto článku sa popisuje, ako používať knižnice jazyka Python, ako sú napríklad morské jazykya Matplotlib, na vytváranie vykreslení a grafov. Ďalšie informácie o open-source knižniciach dostupných v jazyku Python v Exceli nájdete v téme Knižnice open-source a jazyk Python v Exceli.
V príkladoch v tomto článku sa používa množina údajov kvetu dúhovky. Stiahnite si tento vzorový zošit a postupujte podľa článku: python-in-excel-iris-dataset.xlsx.
Vytvorenie dvojice vykreslenia s morskou výpletkou
V tomto príklade sa dozviete, ako vytvoriť párovú vykreslenú vizualizáciu množiny údajov kvetu dúhovky. Párové vykreslenia sú matice vykreslenia a grafy, ktoré porovnávajú vzťah medzi jednotlivými premennými v množine údajov. V tomto prípade množina údajov kvetu dúhovky obsahuje štyri stĺpce číselných údajov: sepal_length, sepal_width, petal_length a petal_width.
Jazyk Python v Exceli vytvorí vizualizáciu s námornouknižnicou. Seabornlibrary is automatically import for Python in Excel with the following import statement, letting you reference it with the alias sns.
import seaborn as sns
Ak chcete vytvoriť párový diagram množiny údajov kvetu dúhovky s morskou knižnicou, vykonajte nasledujúce kroky:
-
Do bunky Excelu v jazyku Python zadajte nasledujúci úryvok kódu. Úryvok kódu ukladá vykreslenie páru ako premennú nazývanú pairplot. Vytvára pár sprisahania s seaborn knižnice alias sns a seaborn funkcie pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Ako argument pre funkciu pairplot používa úryvok kódu vlastnú funkciu xl(Python) a odkazuje na prvú tabuľku v hárku Table1. Obsahuje celý obsah tabuľky (ako [#All]) a konštatuje, že tabuľka obsahuje riadok hlavičky (ako hlavičky =True). Tabuľka1 v hárku v tomto príklade obsahuje množinu údajov dúhovky.
Poznámka: Ak sa vyskytnú chyby, ďalšie informácie nájdete v téme Riešenie problémov s jazykom Python v Exceli .
-
Po potvrdení vzorca v jazyku Python vráti jazyk Python v Exceli vizualizáciu párového vykreslenia v objekte s obrázkom. Ak chcete zobraziť ukážku vizualizácie, vyberte ikonu karty v bunke s obrázkom objektu.
-
Ponechajte vizualizáciu ako obrázok a pokračujte v jeho používaní na výpočty v jazyku Python. Rozbaľte obrázok do excelovej mriežky a zmeňte jeho veľkosť a podrobnejšie zobrazte jednotlivé vykreslenia. Ak chcete extrahovať obrázok do mriežky, kliknite pravým tlačidlom myši alebo stlačte kláves Ctrl a kliknite na bunku, ktorá obsahuje objekt obrázka, a v ponuke vyberte položku Zobraziť vykreslený nad bunkami.
Ďalšie informácie o extrahovaní obrázkových objektov nájdete v časti Extrahovanie objektu obrázka do článku o mriežke Excelu v tomto článku.
Vytvorenie bodového vykreslenia pomocou funkcie Matplotlib
V tomto príklade je popísaný postup vytvorenia bodového vykreslenia pomocou množiny údajov ukážky kvetu dúhovky. Bodové vykreslenie zobrazuje vzťah medzi dvomi číselnými premennými v množine údajov. V príklade sa vytvorí bodové vykreslenia, ktoré vyzerá ako nasledujúca snímka obrazovky a porovnáva sepal_width a sepal_length hodnoty.
Jazyk Python v Exceli vytvorí vizualizáciu s knižnicou Matplotlibopen-source. Knižnica Matplotlibsa automaticky importuje do jazyka Python v Exceli pomocou nasledujúceho príkazu importu, vďaka čomu naň môžete odkazovať ako na plt.
import matplotlib.pyplot as plt
Ak chcete vytvoriť bodové vykreslenie množiny údajov kvetu dúhovky s knižnicou Matplotlib, vykonajte nasledujúce kroky:
-
V bunke Programu Excel v jazyku Python použite funkciu bodového grafuMatplotlib a ako argumenty zadajte sepal_length a sepal_width stĺpce množiny údajov Iris. Tabuľka1 v hárku v tomto príklade obsahuje množinu údajov dúhovky.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Pridajte označenia a názov do bodového vykreslenia. # 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, v tej istej bunke Excelu alebo ho môžete zadať do nového jazyka Python v excelovej bunke v zošite. Ak sa rozhodnete zadať ju do novej bunky, postupujte podľa pravidiel hlavného poradia výpočtu riadka a zadajte ho za prvú bunku.
-
Po potvrdení vzorcov jazyka Python vráti jazyk Python v Exceli vizualizáciu bodového vykreslenia ako obrázkový objekt. Ak chcete zobraziť ukážku vizualizácie, vyberte ikonu karty v bunke s obrázkom objektu.
Poznámka: Ak sa vyskytnú chyby, ďalšie informácie nájdete v téme Riešenie problémov s jazykom Python v Exceli .
-
Ponechajte vizualizáciu ako objekt obrázka a pokračujte v jeho používaní na výpočty v jazyku Python. Rozbaľte obrázok do excelovej mriežky a zmeňte jeho veľkosť a zobrazte obrázok podrobnejšie. Ak chcete extrahovať obrázok do mriežky, kliknite pravým tlačidlom myši alebo stlačte kláves Ctrl a kliknite na bunku, ktorá obsahuje objekt obrázka, a v ponuke vyberte položku Zobraziť vykreslený nad bunkami.
Ďalšie informácie o extrahovaní obrázkových objektov nájdete v časti Extrahovanie objektu obrázka do článku o mriežke Excelu v tomto článku.
Extrahovanie objektu s obrázkom do mriežky Programu Excel
Ako ukazujú príklady v tomto článku, knižnice jazyka Python, ako napríklad seaborn a Matplotlib, môžu vrátiť vizualizácie údajov do excelových buniek. Jazyk Python v Exceli predvolene vracia tieto vizualizácie ako objekty obrázkov.
Ak chcete zobraziť ukážku vizualizácie, vyberte ikonu karty v bunke s obrázkom objektu.
Do mriežky Excelu možno obrázok extrahovať dvomi spôsobmi: zobraziť obrázok ako vykresliť bunky alebo zobraziť obrázok v bunke.
Zobrazenie obrázka nad bunkami
Ak chcete obrázok zobraziť ako vykreslenú bunku, postupujte podľa týchto krokov.
-
Kliknite pravým tlačidlom myši alebo stlačte kláves Ctrl a kliknite na bunku obsahujúcu objekt obrázka a v ponuke vyberte položku Zobraziť vykreslený nad bunkami (alebo použite klávesovú skratku Ctrl + Alt + Shift + C). Vytvorí sa kópia obrázka, ktorá pláva nad mriežkou Excelu a dá sa jednoducho meniť jej veľkosť. Pôvodný objekt obrázka zostane v pôvodnej bunke.
-
Vyberte a presuňte vykreslený obrázok a premiestnite ho po hárku. Vyberte a presuňte uzly v rohoch a po stranách obrázka a zmeňte jeho veľkosť.
Zobrazenie obrázka v bunke
Ak chcete zobraziť obrázok v bunke, postupujte podľa týchto krokov.
-
Vráti objekt s obrázkom ako excelovú hodnotu. Vyberte bunku s obrázkom objektu, prejdite do výstupnej ponuky jazyka Python v riadku vzorcov a vyberte položku Hodnota v Exceli.
Zobrazovaný obrázok sa teraz zobrazuje v bunke.Tip: Ak chcete prepínať výsledky vzorcov jazyka Python medzi objektmi jazyka Python a hodnotami Excelu, použite klávesovú skratku Ctrl + Alt + Shift + M. Ďalšie informácie o klávesových skratkách nájdete v téme Klávesové skratky v jazyku Python v Exceli.
-
Veľkosť vykresleného obrázka závisí od veľkosti bunky. Zväčšite veľkosť obrázka zväčšením veľkosti bunky alebo zlúčením buniek.
Používanie rôznych písiem v neanglských jazykoch
Ak chcete vytvoriť graf údajov, ktoré používajú znaky iné ako latinka, napríklad čínštinu, kórejčinu alebo thajčinu, použite excel.FontPath. Jazyk Python v Exceli predvolene vykresľuje znaky iné ako latinka ako prázdny štvorec ('□'). Na vyriešenie tohto problému vám excel.FontPath umožňuje použiť modul excel na volanie iného písma a vykreslenie znakov.
K dispozícii sú nasledujúce písma. Atribút sa pripojí k excel.FontPath v kóde jazyka Python. Cesta odkazuje na súbor písma, ktorý atribút nazýva.
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 označení vykreslenia zjednodušenej čínštiny
Nasledujúca snímka obrazovky znázorňuje graf s označeniami vykreslenými zjednodušenými čínskymi znakmi pomocou excel.FontPath. Ukážka kódu za snímkou obrazovky ukazuje, ako používať excel.FontPath.CHINESE_SIMPLIFIED na zobrazenie znakov zo zjednodušenej čínskej knižnice.
Ukážka kódu pomocou excelu. FontPath
Táto ukážka kódu ukazuje, ako použiť excel.FontPath.CHINESE_SIMPLIFIED na vygenerovanie vykreslenia a zjednodušené čínske znaky v označeniach vykreslenia, 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()