Diagrammide ja diagrammide loomine Pythoni abil Excelis

Rakenduskoht
Microsoft 365 rakendus Excel Maci jaoks ette nähtud Microsoft 365 rakendus Excel

Kättesaadavuse kohta leiate teavet teemast Python Exceli kättesaadavuses. Kui teil tekib Excelis Pythoniga probleeme, andke neist teada, valides Excelis spikri>tagasiside .

Kas olete Exceli Pythoni funktsiooni uus kasutaja? Alustage Excelis Pythoni tutvustusest ja Pythoni kasutamise alustamine Excelis.

Diagrammide ja diagrammide loomine avatud lähtekoodiga Pythoni teekide abil

Exceli Pythonis on Anaconda pakutav Pythoni teekide tuumkomplekt. Selles artiklis kirjeldatakse Pythoni teekide (nt seaborn ja Matplotlib) kasutamist diagrammide ja diagrammide loomiseks. Lisateavet Excelis Pythonis saadaolevate avatud lähtekoodiga teekide kohta leiate teemast Avatud lähtekoodiga teegid ja Python Excelis.

Selle artikli näidetes kasutatakse iirise lille andmekogumit. Laadige alla näidistöövihik, mida järgida koos järgmise artikliga: python-in-excel-iris-dataset.xlsx.

Seaboriga paarisdiagrammi loomine

Selles näites kirjeldatakse, kuidas luua iirise lille andmekogumi paarisdiagrammi visualiseerimine. Paarisdiagramm on diagrammide ja diagrammide maatriks, mis võrdleb andmekogumi iga muutuja vahelist seost. Sel juhul sisaldab Irise lille andmekogum nelja veergu arvandmetest: sepal_length, sepal_width, petal_length ja petal_width.

Pythoni abil saate Excelis luua meresüdame teegiga paarisdiagrammi.

Python loob Excelis meresüdame teegiga visualiseeringu. Seabori teek imporditakse Excelis automaatselt Pythoni jaoks järgmise impordilause abil, mis võimaldab teil sellele pseudonüümiga viidata.

import seaborn as sns

Irise lille andmekomplekti paarisdiagrammi loomiseks meresüdame teegiga tehke järgmist.

  1. Sisestage Exceli lahtris Pythonisse järgmine koodilõik. Koodilõik talletab paarisdiagrammi muutujana pairplot. See loob paarisdiagrammi seasiltide teegi pseudonüümiga sns ja seabori funktsiooni paariplotti.

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

    Sidumisfunktsiooni argumendina kasutab koodilõik kohandatud Pythoni funktsiooni xl() ja viitab töölehe esimesele tabelile Tabel1. See sisaldab kogu tabeli sisu (kujul [#All]) ja märkusi selle kohta, et tabel sisaldab päiserida (päisena=Tõene). Selles näites sisaldab töölehe Tabel1 andmekomplekti Iris.

    Vaadake andmeframe'is paarisdiagrammi eelvaadet.

    Märkus.

    Tõrgete korral lugege lisateavet artiklist Exceli tõrgete Pythoni tõrkeotsing .

  2. Pärast Pythoni valemi kinnitamist tagastab Python Excelis pildiobjekti paarisdiagrammi visualiseeringu. Visualiseeringu eelvaate kuvamiseks valige pildiobjekti lahtris kaardiikoon.

    Vaadake Andmeframe-kaardi diagrammi diagrammi eelvaadet.

  3. Säilitage visualiseering pildiobjektina, et seda Pythoni arvutustes edasi kasutada. Ekstraktige pilt Exceli ruudustikku, et muuta selle suurust ja vaadata iga graafikut üksikasjalikumalt. Pildi ekstraktimiseks ruudustikku paremklõpsake või hoidke all juhtklahvi (Ctrl) ja klõpsake pilti sisaldavat lahtrit ning valige menüüst Käsk Kuva kandke diagrammi lahtritele .

    Lisateavet pildiobjektide ekstraktimise kohta leiate selle artikli jaotisest Pildiobjekti ekstraktimine Exceli ruudustikku .

Matplotlibi abil punktdiagrammi loomine

Selles näites kirjeldatakse, kuidas luua Iirise lille näidisandmehulgaga punktdiagramm. Punktdiagrammil kuvatakse andmehulga kahe arvmuutuja vaheline seos. Selles näites luuakse punktdiagramm, mis näeb välja selline, nagu on kujutatud järgmisel kuvatõmmisel, võrreldes sepal_width ja sepal_length väärtusi.

Pythoni abil saate Excelis luua matplotlib-teegiga punktdiagrammi.

Python loob Excelis visualiseeringu Matplotlibi avatud lähtekoodiga teegi abil. Matplotlibi teek imporditakse Excelis automaatselt Pythoni jaoks järgmise impordilausega, mis võimaldab teil sellele viidata kui plt-failile.

import matplotlib.pyplot as plt

Matplotlibi teegiga Irise lille andmehulgast punktdiagrammi loomiseks tehke järgmist.

  1. Kasutage Exceli lahtris Pythonis funktsiooni Matplotlib punktdiagramm ja sisestage argumentidena Irise andmehulga sepal_length ja sepal_width veerud. Selles näites sisaldab töölehe Tabel1 andmekomplekti Iris.

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

  2. Lisage punktdiagrammile sildid ja pealkiri.

    # 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')

    Märkus.

    Selle koodilõigu saate lisada täiendava koodireana eelmise toimingu Pythoni valemi järele samasse Exceli lahtrisse või sisestada selle oma töövihiku Exceli lahtrisse uude Pythoni lahtrisse. Kui otsustate selle sisestada uude lahtrisse, järgige kindlasti rea põhiarvutusjärjestuse reegleid ja sisestage see pärast esimest lahtrit.

  3. Pärast Pythoni valemite kinnitamist tagastab Python Excelis punktdiagrammi visualiseeringu pildiobjektina. Visualiseeringu eelvaate kuvamiseks valige pildiobjekti lahtris kaardiikoon.

    Saate vaadata andmeframe'is punktdiagrammi eelvaadet.

    Märkus.

    Tõrgete korral lugege lisateavet artiklist Exceli tõrgete Pythoni tõrkeotsing .

  4. Säilitage visualiseering pildiobjektina, et seda Pythoni arvutustes edasi kasutada. Ekstraktige pilt Exceli ruudustikku, et muuta selle suurust ja vaadata diagrammi üksikasjalikumalt. Pildi ekstraktimiseks ruudustikku paremklõpsake või hoidke all juhtklahvi (Ctrl) ja klõpsake pilti sisaldavat lahtrit ning valige menüüst Käsk Kuva kandke diagrammi lahtritele .

    Lisateavet pildiobjektide ekstraktimise kohta leiate selle artikli jaotisest Pildiobjekti ekstraktimine Exceli ruudustikku .

Pildiobjekti ekstraktimine Exceli ruudustikku

Nagu selle artikli näidetest nähtub, võivad Pythoni teegid (nt seaborn ja Matplotlib) tagastada andmete visualiseeringud Exceli lahtritesse. Vaikimisi tagastab Python Excelis need visualiseeringud pildiobjektidena.

Visualiseeringu eelvaate kuvamiseks valige pildiobjekti lahtris kaardiikoon.

Vaadake Andmeframe-kaardi diagrammi diagrammi eelvaadet.

Pildi ekstraktimiseks Exceli ruudustikku on kaks võimalust: kuvada pilt diagrammina lahtrite kohal või kuvada pilt lahtris.

Pildi kuvamine lahtrite kohal

Järgige neid juhiseid, et kuvada pilt diagrammina üle lahtrite.

  1. Paremklõpsake või hoidke all juhtklahvi (Ctrl) ja klõpsake pildiobjekti sisaldavat lahtrit ning valige menüüst Käsk Kuva lahtritele kandmine (või kasutage kiirklahvikombinatsiooni Ctrl+Alt+Shift+C). See loob pildi koopia, mis hõljub Üle Exceli ruudustiku ja mille suurust saab hõlpsasti muuta. Algne pildiobjekt jääb algsesse lahtrisse.

  2. Diagrammipildi töölehel teisaldamiseks valige ja lohistage seda. Pildi suuruse muutmiseks valige ja lohistage pildi nurkades ja külgedel olevaid sõlmi.

    Looge ujuv diagrammivisualiseering ikooniga Loo viide.

Pildi kuvamine lahtris

Pildi kuvamiseks lahtris tehke järgmist.

  1. Tagastab pildiobjekti Exceli väärtusena. Valige pildiobjekti lahter, minge valemiribal Pythoni väljundmenüüsse ja valige Exceli väärtus.

    Väljunditüübi muutmiseks kasutage valemiriba kõrval asuvat Pythoni väljundmenüüd.

    Diagrammile kantud pilt kuvatakse nüüd lahtris.

    Näpunäide.

    Pythoni valemi tulemite Pythoni objektide ja Exceli väärtuste vahel ümberlülitamiseks kasutage kiirklahvi Ctrl+Alt+Shift+M. Lisateavet kiirklahvide kohta leiate teemast Python Exceli kiirklahvides.

  2. Diagrammi pildi suurus sõltub lahtri suurusest. Pildi suuruse suurendamiseks suurendage lahtri suurust või ühendage lahtrid.

Mitte-ingliskeelsete keelte jaoks erinevate fontide kasutamine

Mittelaadseid tähemärke (nt hiina, korea või tai) kasutavate andmete diagrammiks kasutage .excel.FontPath Vaikimisi renderdab Exceli Python mitte-ladina tähestikumärgid tühja ruuduna ('□'). Probleemi lahendamiseks excel.FontPath saate excel kasutada moodulit muu fondi kutsumiseks ja märkide renderdamiseks.

Saadaval on järgmised fondid. Atribuut lisatakse excel.FontPath teie Pythoni koodi. Tee viitab atribuudi kutsutavale fondifailile.

Atribuut Tee
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
JAAPANI /usr/share/fonts/Meiryo.ttf
KOREA /usr/share/fonts/Batang.ttf
TAI /usr/share/fonts/THSarabunPSK.ttf

Kasutage Excelit. FontPath lihtsustatud hiina graafikusiltide kuvamiseks

Järgmisel kuvatõmmisel on kujutatud diagramm, millel on lihtsustatud hiinakeelsete tähtedega graafikusildid.excel.FontPath Kuvatõmmise järgne koodinäidis näitab, kuidas kasutada excel.FontPath.CHINESE_SIMPLIFIED lihtsustatud hiinakeelses teegis märkide kuvamiseks.

Chart with characters rendering properly

Koodinäidis Exceli abil. FontPath

See koodinäidis näitab, kuidas kasutada excel.FontPath.CHINESE_SIMPLIFIED diagrammi diagrammi ja lihtsustatud hiinakeelsete märkide genereerimiseks diagrammi andmesildil, mis on kuvatud eelneval kuvatõmmisel.

-

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