Pythonin luominen Excelin piirto- ja kaavioissa
Applies To
Excel for Microsoft 365Excelin Python otetaan tällä hetkellä käyttöön Enterprise and Business -käyttäjille, jotka käyttävät Windowsin nykyistä kanavaa versiosta 2407 (koontiversio 17830.20128). Se on saatavilla esikatselussa Perhe- ja Henkilökohtaiset-käyttäjille, jotka käyttävät Windowsin nykyistä kanavaa versiosta 2405 alkaen (koontiversio 17628.20164). Excelin Python on saatavilla esikatselussa Education-käyttäjille, jotka käyttävät Nykyistä kanavaa (esikatselu) Microsoft 365 Insider Program -ohjelman kautta. Se ei ole tällä hetkellä saatavilla kuukausittaiselle yrityskanavalle tai Semi-Annual Enterprise Channel -kanavalle.
Se otetaan ensin käyttöön Excel for Windowsissa ja sitten muissa ympäristöissä myöhemmin. Lisätietoja saatavuudesta on artikkelissa Python Excelin käytettävyydestä.
Jos kohtaat Pythoniin liittyviä ongelmia Excelissä, ilmoita niistä valitsemalla Ohje > Palaute Excelissä.
Oletko uusi Python-käyttäjä Excelissä? Aloita artikkelista Johdanto Pythoniin Excelissä ja Pythonin käytön aloittaminen Excelissä.
Piirtojen ja kaavioiden luominen avoimen lähdekoodin Python-kirjastojen avulla
Excelin Python sisältää Anacondan tarjoamat python-kirjastot. Tässä artikkelissa kerrotaan, miten python-kirjastoja, kuten merisyntyneitäja matplotlibeja, käytetään juonien ja kaavioiden luomiseen. Lisätietoja Excelin Pythonin kanssa käytettävissä olevista avoimen lähdekoodin kirjastoista on artikkelissa Avoimen lähdekoodin kirjastot ja Python Excelissä.
Tämän artikkelin esimerkeissä käytetään Iris-kukka-tietojoukkoa. Lataa tämä esimerkkityökirja, jota voit seurata artikkelin python-in-excel-iris-dataset.xlsxkanssa.
Luo paripiirtoa merisyntyisen kanssa
Tässä esimerkissä näytetään, miten Iris-kukka-tietojoukosta luodaan paripiirtovisualisointi. Piirtopari on piirto- ja kaaviomatriisi, joka vertaa tietojoukon kunkin muuttujan välistä suhdetta. Tässä tapauksessa Iris-kukka-tietojoukko sisältää neljä numeerista tietosaraketta: sepal_length, sepal_width, petal_length ja petal_width.
Excelin Python luo visualisoinnin merisyntyisenkirjaston avulla. Seaborn-kirjastotuodaan automaattisesti Pythoniin Excelissä seuraavan tuontilausekkeen avulla, jolloin voit viitata siihen aliastunnuksella.
import seaborn as sns
Jos haluat luoda Iris-kukkatietojoukon paripiirron merisyntyisen kirjaston kanssa, toimi seuraavasti:
-
Kirjoita seuraava koodikatkelman Python-soluun Excelin solussa. Koodikatkelmaan tallennetaan paripiirto muuttujana nimeltä pairplot. Se luo parin tontin merisyntyisen kirjaston aliaksen sns ja merisyntyisen funktiopariparin kanssa. pairplot = sns.pairplot(xl("Table1[#All]", headers=True))Pairplot-funktion argumenttina koodikatkelmalla käytetään mukautettua Python-funktiota xl() ja se viittaa laskentataulukon ensimmäiseen taulukkoon Taulukko1. Se sisältää koko taulukon sisällön (kuten [#All]) ja muistiinpanot siitä, että taulukossa on otsikkorivi (muodossa headers=True). Tässä esimerkissä laskentataulukon Taulukko1 sisältää Iris-tietojoukon.
Huomautus: Jos kohtaat virheitä, katso lisätietoja artikkelista Pythonin vianmääritys Excelissä .
-
Kun python-kaava on määritetty, Excelin Python palauttaa kuvaobjektin piirtovisualisoinnin. Valitse kuvaobjektin solussa oleva korttikuvake, jos haluat nähdä visualisoinnin esikatselun.
-
Säilytä visualisointi Kuva-objektina, jotta voit jatkaa sen käyttöä Python-laskutoimituksissa. Pura kuva Excel-ruudukkoon, jos haluat muuttaa sen kokoa ja tarkastella jokaista piirtoa yksityiskohtaisemmin. Jos haluat poimia kuvan ruudukkoon, napsauta hiiren kakkospainikkeella tai ctrl+napsauta kuvaobjektin sisältävää solua ja valitse valikosta Näytä piirto solujen päällä.
Lisätietoja kuvaobjektien poimimisesta on tämän artikkelin Artikkelissa Kuvaobjektin poimiminen Excel-ruudukkoon .
Pistepiirron luominen Matplotlibin avulla
Tässä esimerkissä kuvataan, miten voit luoda pistepiirron Iris-kukkamallijoukon avulla. Pistekaavio näyttää tietojoukon kahden numeerisen muuttujan välisen suhteen. Esimerkki luo pistepiirron, joka näyttää seuraavan näyttökuvan kaltaiselta ja vertaa sepal_width ja sepal_length arvoja.
Excelin Python luo visualisoinnin Avoimen lähdekoodin Matplotlib-kirjastonavulla. Matplotlib-kirjastotuodaan automaattisesti Pythoniin Excelissä seuraavalla tuontilausekkeella, jonka avulla voit viitata siihen plt.
import matplotlib.pyplot as plt
Jos haluat luoda sirontakaavion Iris-kukkatietojoukosta Matplotlib-kirjaston kanssa, toimi seuraavasti:
-
Käytä Excelin Python-solussa matplotlib-pistefunktiota ja kirjoita argumenteiksi Iris-tietojoukon sepal_length ja sepal_width sarakkeet. Tässä esimerkissä laskentataulukon Taulukko1 sisältää Iris-tietojoukon.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Lisää pistepiirrokseen selitteet ja otsikko. # 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')
Huomautus: Voit lisätä tämän koodikatkelman ylimääräisenä koodirivinä edellisessä vaiheessa olevan Python-kaavan jälkeen samaan Excel-soluun tai voit kirjoittaa sen uuteen Pythoniin Työkirjan Excel-solussa. Jos kirjoitat sen uuteen soluun, noudata rivin päälaskentajärjestyksen sääntöjä ja kirjoita se ensimmäisen solun jälkeen.
-
Kun python-kaavat on määritetty, Excelin Python palauttaa pistepiirron visualisoinnin kuvaobjektina. Valitse kuvaobjektin solussa oleva korttikuvake, jos haluat nähdä visualisoinnin esikatselun.
Huomautus: Jos kohtaat virheitä, katso lisätietoja artikkelista Pythonin vianmääritys Excelissä .
-
Säilytä visualisointi kuvaobjektina, jotta voit jatkaa sen käyttöä Python-laskutoimituksissa. Pura kuva Excel-ruudukkoon, jos haluat muuttaa sen kokoa ja tarkastella piirtoa tarkemmin. Jos haluat poimia kuvan ruudukkoon, napsauta hiiren kakkospainikkeella tai ctrl+napsauta kuvaobjektin sisältävää solua ja valitse valikosta Näytä piirto solujen päällä.
Lisätietoja kuvaobjektien poimimisesta on tämän artikkelin Artikkelissa Kuvaobjektin poimiminen Excel-ruudukkoon .
Kuvaobjektin poimiminen Excel-ruudukkoon
Kuten tämän artikkelin esimerkeistä käy ilmi, Python-kirjastot, kuten merisyntyiset ja Matplotlib, voivat palauttaa tietojen visualisointeja Excel-soluihin. Oletusarvoisesti Excelin Python palauttaa nämä visualisoinnit kuvaobjekteina.
Valitse kuvaobjektin solussa oleva korttikuvake, jos haluat nähdä visualisoinnin esikatselun.
Voit poimia kuvan Excel-ruudukkoon kahdella tavalla: näyttää kuvan piirtona solujen päällä tai näyttää kuvan solussa.
Kuvan näyttäminen solujen päällä
Näiden ohjeiden avulla voit näyttää kuvan solujen päällä piirtämisenä.
-
Napsauta hiiren kakkospainikkeella tai Ctrl+napsauta kuvaobjektin sisältävää solua ja valitse valikosta Näytä piirto solujen päällä (tai käytä pikanäppäintä Ctrl+Alt+Vaihto+C). Tämä luo kuvasta kopion, joka kelluu Excel-ruudukon päällä ja jonka kokoa voi muuttaa helposti. Alkuperäinen kuvaobjekti säilyy alkuperäisessä solussa.
-
Siirrä kuvaa laskentataulukossa valitsemalla ja vetämällä. Voit muuttaa kuvan kokoa valitsemalla ja vetämällä solmuja kuvan kulmissa ja sivuilla.
Kuvan näyttäminen solussa
Näiden ohjeiden avulla voit näyttää kuvan solussa.
-
Palauta kuvaobjekti Excel-arvona. Valitse kuvaobjektin solu, siirry kaavarivin Python-tulostusvalikkoon ja valitse Excel-arvo.
Piirtokuva näkyy nyt solussa.Vihje: Jos haluat vaihtaa Python-kaavan tulokset Python-objektien ja Excel-arvojen välillä, käytä pikanäppäintä Ctrl+Alt+Vaihto+M. Lisätietoja pikanäppäimista on artikkelissa Python Excelin pikanäppäimissä.
-
Piirtokuvan koko määräytyy solun koon mukaan. Suurenna kuvan kokoa suurentamalla solun kokoa tai yhdistämällä solut.
Omien piirtojen ja kaavioiden luominen
Nyt kun olet oppinut luomaan Pythonin Excelin piirto- ja kaavioissa esimerkkitietojoukon avulla, syöttämällä omat tietosi Excel-työkirjaan ja luomalla mukautettuja visualisointeja.
Jos haluat tuoda ulkoisia tietoja Pythonin kanssa Excelissä käytettäviksi, käytä Power Query. Lisätietoja on artikkelissa Pythonin tietojen tuominen Excelissä Power Query avulla.
Eri fonttien käyttäminen muilla kuin englanninkielisillä kielillä
Jos haluat kaavioon tietoja, jotka käyttävät muita kuin latinalaisia aakkosmerkkejä, kuten kiinaa, koreaa tai thaita, käytä excel.FontPath. Excelin Python hahmontaa oletusarvoisesti muut kuin latinalaiset aakkoset tyhjäksi neliöksi ('□'). Voit ratkaista ongelman excel.FontPath avulla voit käyttää excel -moduulia eri fontin kutsumiseen ja merkkien hahmontamiseen.
Seuraavat fontit ovat käytettävissä. Määrite liitetään python-koodisi excel.FontPath . Polku viittaa määritteen kutsumaan fonttitiedostoon.
Määrite |
Polku |
---|---|
BENGALI |
/usr/share/fonts/Vrinda.ttf |
CHINESE_SIMPLIFIED |
/usr/share/fonts/SimSun.ttf |
CHINESE_TRADITIONAL |
/usr/share/fonts/MingLiU.ttf |
HINDI |
/usr/share/fonts/Mangal.ttf |
JAPANI |
/usr/share/fonts/Meiryo.ttf |
KOREA |
/usr/share/fonts/Batang.ttf |
THAI |
/usr/share/fonts/THSarabunPSK.ttf |
erottua. Esimerkki FontPathista
Ennen
Tämä kaavio ei pysty hahmontamaan oikeita piirtootsikoita, koska oletusfontti ei tue annettuja merkkejä.
Väärin hahmonnetun kaavion otsikoiden koodiesimerkki:
import matplotlib.pyplot as plt # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |
Jälkeen
Jos haluat korjata tässä esimerkissä olevat kaavion otsikot, käytä excel.FontPath.CHINESE_SIMPLIFIED annettujen kiinalaisten merkkien hahmontamiseen oikein.
Koodiesimerkki oikein hahmonnetuille kaavion otsikoille:
import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties # Set the font path. # 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() |