Stvaranje crta i grafikona pomoću jezika Python u programu Excel

Primjenjuje se na
Excel za Microsoft 365 Excel za Microsoft 365 za Mac

Informacije o dostupnosti potražite u odjeljku Dostupnost značajke Python u programu Excel. Ako naiđete na probleme sa značajkom Python u programu Excel, prijavite ih tako da odaberete Pomoć>– povratne informacije u programu Excel.

Jeste li novi u programskom jeziku Python u programu Excel? Započnite s uvodom u Python u programu Excel i Počnite sa Pythonom u programu Excel.

Koristite biblioteke jezika Python otvorenog izvora za stvaranje crta i grafikona

Python u programu Excel isporučuje se s osnovnim skupom biblioteka jezika Python koje nudi Anaconda. U ovom je članku opisano kako koristiti biblioteke jezika Python, kao što su seaborn i Matplotlib, za stvaranje dijagrama i grafikona. Da biste saznali više o bibliotekama otvorenog izvora koje su dostupne uz Python u programu Excel, pogledajte Biblioteke otvorenog izvora i Python u programu Excel.

U primjerima u ovom članku koristi se skup podataka cvijeta irisa. Preuzmite ovu oglednu radnu knjigu da biste pratili članak python-in-excel-iris-dataset.xlsx.

Stvorite par parcele s seaborn

Ovaj primjer pokazuje kako stvoriti vizualizaciju parnog grafičkog prikaza skupa podataka cvijeta šarenice. Par dijagrama je matrica grafova i grafikona kojom se uspoređuju odnosi između svih varijabli u skupu podataka. U tom slučaju skup podataka cvijet perunike sadrži četiri stupca numeričkih podataka: sepal_length, sepal_width, petal_length i petal_width.

Koristite Python u programu Excel za stvaranje parnih parcela s bibliotekom Seaborn.

Python u programu Excel stvara vizualizaciju s bibliotekom rođena u moru . Biblioteka seaborn automatski se uvozi za Python u Excel sa sljedećom naredbom uvoza, što vam omogućuje da je referencirate s pseudonimom sns.

import seaborn as sns

Da biste stvorili par parcela skupa podataka o cvijetu šarenice s bibliotekom seaborn, poduzmite sljedeće korake:

  1. U ćeliju jezika Python u programu Excel unesite sljedeći isječak koda. Isječak koda pohranjuje graf para kao varijablu pod nazivom parni graf. Stvara parcelu para s pseudonimom knjižnice seaborn sns i funkcijom seaborn pairplot.

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

    Kao argument za funkciju pairplot , isječak koda koristi prilagođenu Python funkciju xl() i referencira prvu tablicu na radnom listu, Tablica1. U njoj je naveden cjelokupni sadržaj tablice (kao [#All]) i napominje da tablica uključuje redak zaglavlja (kao zaglavlja=True)). U ovom primjeru tablica1 na radnom listu sadrži skup podataka Iris.

    Pogledajte pretpregled iscrtavanja parova u podatkovnom okviru.

    Napomena

    Ako naiđete na pogreške, dodatne informacije potražite u odjeljku Otklanjanje poteškoća sa značajkom Python u programu Excel .

  2. Nakon izvršavanja formule za Python, Python u programu Excel vraća vizualizaciju iscrtavanja u paru u objektu slike. Odaberite ikonu kartice u ćeliji objekta slike da biste vidjeli pretpregled vizualizacije.

    Pogledajte pretpregled crtanja na kartici podatkovnog okvira.

  3. Zadržite vizualizaciju kao objekt Image kako biste je nastavili koristiti za izračune u programskom jeziku Python. Izdvojite sliku u rešetku programa Excel da biste joj promijenili veličinu i detaljnije pogledali svaki graf. Da biste izdvojili sliku u rešetku, desnom tipkom miša kliknite ćeliju koja sadrži objekt slike ili pritisnite Ctrl + kliknite na izborniku pa odaberite Prikaži iscrtavanje preko ćelija .

    Dodatne informacije o izdvajanju slikovnih objekata potražite u odjeljku Izdvajanje slikovnog objekta u rešetku programa Excel u ovom članku.

Stvaranje raspršenog grafikona pomoću Matplotlib

U ovom se primjeru opisuje stvaranje raspršenog dijagrama pomoću skupa oglednih podataka cvijeta šarenice. Raspršeni dijagram prikazuje odnos između dviju numeričkih varijabli u skupu podataka. U primjeru se stvara raspršeni dijagram koji izgleda kao na sljedećoj snimci zaslona, uspoređujući vrijednosti sepal_width i sepal_length .

Koristite Python u programu Excel za stvaranje raspršenog grafikona pomoću biblioteke matplotlib.

Python u programu Excel stvara vizualizaciju s bibliotekom otvorenog izvora Matplotlib . Biblioteka Matplotlib automatski se uvozi za Python u Excel pomoću sljedeće naredbe uvoza, što vam omogućuje da je referencirate kao plt.

import matplotlib.pyplot as plt

Da biste pomoću biblioteke Matplotlib stvorili raspršeni dijagram skupa podataka o cvijetu šarenice, poduzmite sljedeće korake:

  1. U ćeliji jezika Python u programu Excel upotrijebite funkciju raspršenja Matplotlib i unesite sepal_length i sepal_width stupaca skupa podataka Iris kao argumente. U ovom primjeru tablica1 na radnom listu sadrži skup podataka Iris.

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

  2. Dodajte oznake i naslov raspršenom 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')

    Napomena

    Taj isječak koda možete dodati kao dodatni redak koda iza formule jezika Python u prethodnom koraku, u istu ćeliju programa Excel ili ga možete unijeti u novu ćeliju jezika Python u programu Excel u radnoj knjizi. Ako je odlučite unijeti u novu ćeliju, provjerite slijedite li redoslijed izračuna prema glavnom retku i unesite ga iza prve ćelije.

  3. Nakon izvršavanja formula za Python, Python u programu Excel vraća vizualizaciju raspršenog iscrtavanja kao objekt slike. Odaberite ikonu kartice u ćeliji objekta slike da biste vidjeli pretpregled vizualizacije.

    Prikaz pretpregleda raspršenog grafikona u podatkovnom okviru

    Napomena

    Ako naiđete na pogreške, dodatne informacije potražite u odjeljku Otklanjanje poteškoća sa značajkom Python u programu Excel .

  4. Zadržite vizualizaciju kao objekt slike kako biste je nastavili koristiti za izračune u programskom jeziku Python. Izdvojite sliku u rešetku programa Excel da biste joj promijenili veličinu i pogledali detaljnije radnje. Da biste izdvojili sliku u rešetku, desnom tipkom miša kliknite ćeliju koja sadrži objekt slike ili pritisnite Ctrl + kliknite na izborniku pa odaberite Prikaži iscrtavanje preko ćelija .

    Dodatne informacije o izdvajanju slikovnih objekata potražite u odjeljku Izdvajanje slikovnog objekta u rešetku programa Excel u ovom članku.

Izdvajanje objekta slike u rešetku programa Excel

Kao što pokazuju primjeri u ovom članku, biblioteke jezika Python kao što su seaborn i Matplotlib mogu vratiti vizualizacije podataka u ćelije programa Excel. Python u programu Excel po zadanom vraća te vizualizacije kao objekte slika.

Odaberite ikonu kartice u ćeliji objekta slike da biste vidjeli pretpregled vizualizacije.

Pogledajte pretpregled crtanja na kartici podatkovnog okvira.

Dva su načina izdvajanja slike iz rešetke programa Excel: prikaz slike kao iscrtavanja iznad ćelija ili prikaz slike unutar ćelije.

Prikaz slike iznad ćelija

Slijedite ove korake da biste sliku prikazali kao iscrtavanje iznad ćelija.

  1. Desnom tipkom miša kliknite ili Ctrl+kliknite ćeliju koja sadrži objekt slike pa na izborniku odaberite Prikaz iscrtavanja preko ćelija (ili koristite tipkovni prečac Ctrl+Alt+Shift+C). Time se stvara kopija slike koja pluta iznad rešetke programa Excel i može se jednostavno promijeniti veličina. Izvorni slikovni objekt ostaje u izvornoj ćeliji.

  2. Odaberite i povucite sliku iscrtavanja da biste je premještali po radnom listu. Odaberite i povucite čvorove u kutovima i bočnim stranama slike da biste joj promijenili veličinu.

    Stvorite vizualizaciju plutajućeg crta s ikonom Stvori referencu.

Prikaz slike u ćeliji

Slijedite ove korake da biste sliku prikazali u ćeliji.

  1. Vraća objekt slike kao vrijednost programa Excel. Odaberite ćeliju objekta slike, idite na izlazni izbornik jezika Python u traci formule i odaberite vrijednost programa Excel.

    Da biste promijenili vrstu izlaza, upotrijebite izbornik izlaza za Python pokraj trake formule.

    Slika crtanja sada se prikazuje u ćeliji.

    Savjet

    Za prebacivanje rezultata formule programskog jezika Python između objekata programskog jezika Python i vrijednosti programa Excel koristite tipkovni prečac Ctrl+Alt+Shift+M. Da biste saznali više o tipkovnim prečacima, pogledajte Tipkovni prečaci za Python u programu Excel.

  2. Veličina slike iscrtavanja ovisi o veličini ćelije. Povećajte sliku povećanjem ćelije ili spajanjem ćelija.

Korištenje različitih fontova za jezike koji nisu engleski

Da biste prikazali grafikon podataka koji koriste nelatinične znakove, kao što su kineski, korejski ili tajlandski, koristite excel.FontPath. Prema zadanim postavkama Python u programu Excel prikazuje znakove koji nisu latinični kao prazan kvadrat ('□'). Da biste riješili taj problem, excel.FontPath pomoću modula excel možete pozvati drugi font i prikazati znakove.

Dostupni su sljedeći fontovi. Atribut je dodan excel.FontPath u vaš Python kod. Put se odnosi na datoteku fonta koju taj atribut poziva.

Atribut Put
BENGALSKI /usr/share/fonts/Vrinda.ttf
CHINESE_SIMPLIFIED /usr/share/fonts/SimSun.ttf
CHINESE_TRADITIONAL /usr/share/fonts/MingLiU.ttf
HINDSKI /usr/share/fonts/Mangal.ttf
JAPANSKI /usr/share/fonts/Meiryo.ttf
KOREJSKI /usr/share/fonts/Batang.ttf
TAJLANDSKI /usr/share/fonts/THSarabunPSK.ttf

Koristite Excel. Put fonta za prikaz oznaka iscrtavanja za pojednostavljeni kineski

Sljedeća snimka zaslona prikazuje grafikon s natpisima iscrtavanja u znakovima na pojednostavnjenom kineskom pomoću excel.FontPath. Uzorak koda nakon snimke zaslona pokazuje kako koristiti excel.FontPath.CHINESE_SIMPLIFIED za prikaz znakova iz biblioteke za pojednostavljeni kineski.

Grafikon sa znakovima koji se pravilno renderiraju

Primjer koda u programu Excel. Put fonta

Ovaj primjer koda prikazuje kako se excel.FontPath.CHINESE_SIMPLIFIED generira iscrtavanje i pojednostavljeni kineski znakovi u natpisima crtanja prikazanima na prethodnoj snimci zaslona.

-

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()