Kuvaajien ja kaavioiden luominen Pythonilla Excelissä

Käytetään kohteeseen
Excel for Microsoft 365 Excel for Microsoft 365 for Mac

Lisätietoja saatavuudesta on kohdassa Excelin Pythonin käytettävyys. Jos kohtaat ongelmia Pythonin kanssa Excelissä, ilmoita niistä valitsemalla Ohjepalaute> Excelissä.

Oletko uusi Python-käyttäjä Excelissä? Aloita Johdanto Pythoniin Excelissä ja aloita Pythonin käyttö Excelissä.

Käytä avoimen lähdekoodin Python-kirjastoja kaavioiden luomiseen

Python Excelissä sisältää perusjoukon Python-kirjastoja, jotka tarjoaa Anaconda. Tässä artikkelissa kuvataan, miten voit käyttää Python-kirjastoja, kuten seabornia ja Matplotlibia, kaavioiden luomiseen. Lisätietoja avoimen lähdekoodin kirjastoista, jotka ovat käytettävissä Python Excelissä, on artikkelissa Avoimen lähdekoodin kirjastot ja Python Excelissä.

Tämän artikkelin esimerkeissä käytetään Iiriksen kukka -tietojoukkoa. Lataa tämä mallityökirja ja seuraa artikkelia: python-in-excel-iris-dataset.xlsx.

Parikaavion luominen seabornin kanssa

Tässä esimerkissä näytetään, miten voit luoda parikaaviovisualisoinnin iiriksen kukka -tietojoukosta. Pariskäkaavio on kaavioiden ja kaavioiden matriisi, jossa verrataan aineiston kunkin muuttujan suhdetta. Tässä tapauksessa iiriksen kukka -tietojoukko sisältää neljä numerotietosaraketta: sepal_length, sepal_width, petal_length ja petal_width.

Käytä Pythonia Excelissä parikaavion luomiseen seaborn-kirjaston kanssa.

Python Excelissä luo visualisoinnin seaborn-kirjaston avulla. Seaborn-kirjasto tuodaan automaattisesti Pythoniin Excelissä seuraavalla tuontilauseella, joten voit viitata siihen aliaksella sns.

import seaborn as sns

Voit luoda parikaavion iiriksen kukka -tietojoukosta seaborn-kirjastoon seuraavasti:

  1. Kirjoita seuraava koodikatkelma Excelin Python-soluun. Koodikatkelma tallentaa parikaavion muuttujana nimeltä parikaavio. Se luo parikaavion seaborn-kirjastoaliaksella sns ja seaborn-funktiolla pairplot.

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

    Pairplot-funktion argumenttina koodikatkelma käyttää mukautettua Python-funktiota xl() ja viittaa laskentataulukon ensimmäiseen taulukkoon, Taulukko1. Se sisältää koko taulukon sisällön (muodossa [#All]) ja huomauttaa, että taulukko sisältää otsikkorivin (muodossa headers=True). Tässä esimerkissä laskentataulukon Taulukko1 sisältää Iris-tietojoukon.

    Tarkastele parin piirron esikatselua tietokehyksessä.

    Huomautus

    Jos kohtaat virheitä, katso lisätietoja kohdasta Pythonin vianmääritys Excelissä .

  2. Kun olet vahvistanut Python-kaavasi, Python Excelissä palauttaa paripiirtovisualisoinnin kuvaobjektiin. Näet visualisoinnin esikatselun valitsemalla korttikuvakkeen kuvaobjektin solussa.

    Näytä piirron esikatselu DataFrame-kortissa.

  3. Säilytä visualisointi kuvaobjektina, jotta voit jatkaa sen käyttöä Python-laskutoimituksissa. Pura kuva Excel-ruudukkoon koon muuttamiseksi ja kunkin kuvakaavion tarkastelemiseksi yksityiskohtaisemmin. Poimi kuva ruudukkoon napsauttamalla kuvaobjektin sisältävää solua hiiren kakkospainikkeella tai painamalla Ctrl+napsauta sitä ja valitsemalla valikosta Näytä piirto solujen päälle .

    Lisätietoja kuvaobjektien poimimisesta on tämän artikkelin kohdassa Kuvaobjektin purkaminen Excel-ruudukkoon .

Pistekaavion luominen Matplotlibin avulla

Tässä esimerkissä kuvataan, miten voit luoda pistekaavion Iiriksen kukka -näytetietojoukon avulla. Pistekaavio osoittaa aineiston kahden numeerisen muuttujan välisen suhteen. Esimerkissä luodaan pistekaavio, joka näyttää seuraavan näyttökuvan kaltaiselta ja vertaa sepal_width ja sepal_length arvoja.

Käytä Pythonia Excelissä pistekaavion luomiseen matplotlib-kirjaston avulla.

Python Excelissä luo visualisoinnin avoimen lähdekoodin Matplotlib-kirjaston avulla. Matplotlib-kirjasto tuodaan automaattisesti Pythoniin Excelissä seuraavalla tuontilausekkeella, jolloin voit viitata siihen plt-muodossa.

import matplotlib.pyplot as plt

Voit luoda pistekaavion Iriksen kukka -tietojoukosta Matplotlib-kirjastoon seuraavasti:

  1. Käytä Excelin Python-solussa Matplotlib-pistefunktiota ja kirjoita Iris-tietojoukon sepal_length- ja sepal_width-sarakkeet argumentteina. Tässä esimerkissä laskentataulukon Taulukko1 sisältää Iris-tietojoukon.

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

  2. Lisää pistekaavioon otsikot 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ä edellisen vaiheen Python-kaavan jälkeen samaan Excel-soluun tai voit kirjoittaa sen työkirjan uuteen Python Excelissä -soluun. Jos päätät kirjoittaa sen uuteen soluun, varmista, että noudatat rivin pääosan laskentajärjestyksen sääntöjä ja kirjoitat sen ensimmäisen solun jälkeen.

  3. Kun olet vahvistanut Python-kaavasi, Python Excelissä palauttaa pistekaavion visualisoinnin kuvaobjektina. Näet visualisoinnin esikatselun valitsemalla korttikuvakkeen kuvaobjektin solussa.

    Näytä pistekaavion esikatselu DataFramessa.

    Huomautus

    Jos kohtaat virheitä, katso lisätietoja kohdasta Pythonin vianmääritys Excelissä .

  4. Säilytä visualisointi kuvaobjektina ja jatka sen käyttöä Python-laskutoimituksissa. Pura kuva Excel-ruudukkoon, jotta voit muuttaa sen kokoa ja tarkastella kuvaa tarkemmin. Poimi kuva ruudukkoon napsauttamalla kuvaobjektin sisältävää solua hiiren kakkospainikkeella tai painamalla Ctrl+napsauta sitä ja valitsemalla valikosta Näytä piirto solujen päälle .

    Lisätietoja kuvaobjektien poimimisesta on tämän artikkelin kohdassa Kuvaobjektin purkaminen Excel-ruudukkoon .

Kuvaobjektin poiminta Excel-ruudukkoon

Kuten tämän artikkelin esimerkeistä käy ilmi, Python-kirjastot, kuten seaborn ja Matplotlib, voivat palauttaa tietojen visualisointeja Excel-soluihin. Python Excelissä palauttaa nämä visualisoinnit oletusarvoisesti kuvaobjekteina.

Näet visualisoinnin esikatselun valitsemalla korttikuvakkeen kuvaobjektin solussa.

Näytä piirron esikatselu DataFrame-kortissa.

Voit poimia kuvan Excel-ruudukkoon kahdella tavalla: voit näyttää kuvan piirtona solujen päällä tai näyttää kuvan solun sisällä.

Näytä kuva solujen päällä

Näiden ohjeiden avulla voit näyttää kuvan piirtona solujen päällä.

  1. Napsauta kuvaobjektin sisältävää solua hiiren kakkospainikkeella tai Ctrl+napsauta sitä ja valitse valikosta Näytä Sijoita solujen päälle (tai käytä pikanäppäinyhdistelmää Ctrl+Alt+Vaihto+C). Tämä luo kuvasta kopion, joka kelluu Excel-ruudukon päällä ja jonka kokoa voi helposti muuttaa. Alkuperäinen kuvaobjekti säilyy alkuperäisessä solussa.

  2. Valitse piirtokuva ja vedä sitä siirtääksesi sitä laskentataulukossa. Muuta kuvan kokoa valitsemalla kulmissa ja sivuilla olevia solmuja ja vetämällä niitä.

    Luo irrallinen piirtovisualisointi Luo viite -kuvakkeella.

Kuvan näyttäminen solussa

Näytä kuva solussa seuraavasti.

  1. Palauta kuvaobjekti Excel-arvona. Valitse kuvaobjektin solu, siirry kaavarivin Python-tulosvalikkoon ja valitse Excel-arvo.

    Muuta tulostetyyppi kaavarivin vieressä olevan Python-tulosvalikon avulla.

    Piirtokuva näkyy nyt solussa.

    Vihje

    Jos haluat vaihtaa Python-kaavan tuloksia Python-objektien ja Excel-arvojen välillä, käytä pikanäppäintä Ctrl+Alt+Vaihto+M. Lisätietoja pikanäppäimistä on artikkelissa Excelin Pythonin pikanäppäimet.

  2. Piirtokuvan koko määräytyy solun koon mukaan. Voit suurentaa kuvan kokoa suurentamalla solun kokoa tai yhdistämällä soluja.

Eri fonttien käyttäminen muille kuin englanninkielisille kielille

Jos haluat kaavioon muita merkkejä kuin latinalaisia aakkosia, kuten kiinalaisia, korealaisia tai thailaisia merkkejä, käytä .excel.FontPath Excelin Python hahmontaa muut kuin latinalaiset aakkosten merkit oletusarvoisesti tyhjäksi neliöksi (□). Voit ratkaista tämän excel.FontPath sallimalla moduulin excel kutsua eri fonttia ja hahmontamaan merkit.

Käytettävissä ovat seuraavat fontit. Määrite liitetään excel.FontPath Python-koodiin. 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

Käytä Exceliä. FontPath yksinkertaistettujen kiinan piirtoselitteiden näyttämiseen

Seuraavassa näyttökuvassa näkyy kaavio, jossa on piirron otsikot yksinkertaistetulla kiinan merkeillä excel.FontPath. Näyttökuvan jälkeinen koodiesimerkki näyttää, miten yksinkertaistetun kiinan kirjaston merkit näytetään excel.FontPath.CHINESE_SIMPLIFIED .

Kaavio, jossa merkit hahmonnetaan oikein

Koodiesimerkki Excelin avulla. FontPath

Tässä koodiesimerkissä näytetään, miten excel.FontPath.CHINESE_SIMPLIFIED piirto ja yksinkertaistetut kiinalaiset merkit luodaan piirtoselitteissä, jotka näkyvät edellisessä näyttökuvassa.

-

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