Opret Python i Excel-afbildninger og -diagrammer
Applies To
Excel til Microsoft 365Python i Excel er nu tilgængelig for virksomheds- og virksomhedsbrugere, der kører den aktuelle kanal på Windows, startende med version 2407 (build 17830.20128) og månedlig virksomhedskanal på Windows, startende med version 2408 (build 17928.20216). Den er tilgængelig i forhåndsvisning for familie- og personlige brugere, der kører den aktuelle kanal på Windows fra og med version 2405 (build 17628.20164). Python i Excel er tilgængelig i forhåndsvisning for Education-brugere, der kører Aktuel kanal (forhåndsvisning) via Microsoft 365 Insider Program. Den er i øjeblikket ikke tilgængelig for Semi-Annual Enterprise-kanalen.
Den udrulles til Excel til Windows først og derefter til andre platforme på et senere tidspunkt. Du kan få mere at vide om tilgængelighed under Python i Excel-tilgængelighed.
Hvis du støder på problemer med Python i Excel, skal du rapportere dem ved at vælge Hjælp > feedback i Excel.
Er du ny til Python i Excel? Start med Introduktion til Python i Excel og Kom i gang med Python i Excel.
Brug open source-Python-biblioteker til at oprette afbildninger og diagrammer
Python i Excel leveres med et kernesæt af Python-biblioteker leveret af Anaconda. I denne artikel beskrives det, hvordan du bruger Python-biblioteker, f.eks. seabornog matplotlib, til at oprette afbildninger og diagrammer. Du kan få mere at vide om open source-biblioteker, der er tilgængelige med Python i Excel ved at se Open source-biblioteker og Python i Excel.
Eksemplerne i denne artikel bruger datasættet Iris flower. Hent denne eksempelprojektmappe, som du kan følge, sammen med artiklen: python-in-excel-iris-dataset.xlsx.
Opret en parafbildning med seaborn
I dette eksempel vises det, hvordan du opretter en parafbildningsvisualisering af Iris flower-datasættet. Et parafbildning er en matrix med afbildninger og diagrammer, der sammenligner relationen mellem hver variabel i et datasæt. I dette tilfælde indeholder Iris flower-datasættet fire kolonner med numeriske data: sepal_length, sepal_width, petal_length og petal_width.
Python i Excel opretter visualiseringen med seaborn-biblioteket. seaborn-biblioteket importeres automatisk til Python i Excel med følgende importsætning, så du kan henvise til det med aliasset sns.
import seaborn as sns
Hvis du vil oprette en parafbildning af Iris flower-datasættet med seaborn-biblioteket, skal du udføre følgende trin:
-
Indtast følgende kodestykke i en Python i Excel-celle. Kodestykket gemmer parafbildningen som en variabel kaldet pairplot. Det opretter parafbildningen med seaborn-bibliotekets alias, sns, og seaborn-funktionen pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Som argument for pairplot-funktionen bruger kodestykket den brugerdefinerede Python-funktion xl() og refererer til den første tabel i regnearket, Tabel1. Den indeholder hele tabellens indhold (som [#All]), og bemærker, at tabellen indeholder en kolonneoverskrift (som headers=Sand). I dette eksempel indeholder Tabel1 i regnearket Iris-datasættet.
Bemærk!: Hvis du støder på fejl, skal du se Fejlfinding af fejl i forbindelse Python i Excel for at få flere oplysninger.
-
Når du har bekræftet din Python-formel, returnerer Python i Excel parafbildningsvisualiseringen i et billedobjekt. Vælg kortikonet i billedobjektcellen for at få vist en forhåndsvisning af visualiseringen.
-
Bevar visualiseringen som et Billede-objekt for at fortsætte med at bruge det til Python-beregninger. Udtræk billedet til Excel-gitteret for at ændre størrelsen på det og få vist hvert afbildning mere detaljeret. Hvis du vil udtrække billedet til gitteret, skal du højreklikke eller ctrl+klikke på den celle, der indeholder billedobjektet, og vælge Vis afbildning over celler i menuen.
Du kan finde flere oplysninger om at udtrække billedobjekter i artiklen Udtræk et billedobjekt til Excel-gitteret i denne artikel.
Opret et punktdiagram med Matplotlib
I dette eksempel beskrives det, hvordan du opretter en punktafbildning med Iris flower-eksempeldatasættet. En punktafbildning viser relationen mellem to numeriske variabler i et datasæt. Eksemplet opretter en punktafbildning, der ligner følgende skærmbillede, og sammenligner værdiernesepal_width og sepal_length.
Python i Excel opretter visualiseringen med Matplotlibopen source-biblioteket. Matplotlib-biblioteketimporteres automatisk for Python i Excel med følgende importsætning, så du kan henvise til det som plt.
import matplotlib.pyplot as plt
Hvis du vil oprette et punktdiagram med datasættet Irisblomst med Matplotlib-biblioteket, skal du udføre følgende trin:
-
I en Python i Excel-celle skal du bruge matplotlib-funktionen scatter og angive kolonnerne sepal_length og sepal_width i Iris-datasættet som argumenter. I dette eksempel indeholder Tabel1 i regnearket Iris-datasættet.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Føj mærkater og en titel til punktafbildningen. # 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')
Bemærk!: Du kan tilføje dette kodestykke som en ekstra kodelinje efter Python-formlen i forrige trin, i den samme Excel-celle, eller du kan angive den i en ny Python i Excel-celle i din projektmappe. Hvis du vælger at indtaste det i en ny celle, skal du sørge for at følge reglerne for beregningsrækkefølge efter rækker og indtaste det efter den første celle.
-
Når du har indsat dine Python-formler, returnerer Python i Excel punktafbildningsvisualiseringen som et billedobjekt. Vælg kortikonet i billedobjektcellen for at få vist en forhåndsvisning af visualiseringen.
Bemærk!: Hvis du støder på fejl, skal du se Fejlfinding af fejl i forbindelse Python i Excel for at få flere oplysninger.
-
Behold visualiseringen som et billedobjekt for at fortsætte med at bruge den til Python-beregninger. Udtræk billedet til Excel-gitteret for at ændre størrelsen på det og få vist afbildningen mere detaljeret. Hvis du vil udtrække billedet til gitteret, skal du højreklikke eller ctrl+klikke på den celle, der indeholder billedobjektet, og vælge Vis afbildning over celler i menuen.
Du kan finde flere oplysninger om at udtrække billedobjekter i artiklen Udtræk et billedobjekt til Excel-gitteret i denne artikel.
Udtræk et billedobjekt til Excel-gitteret
Som det fremgår af eksemplerne i denne artikel, kan Python-biblioteker som seaborn og Matplotlib returnere datavisualiseringer til Excel-celler. Som standard returnerer Python i Excel disse visualiseringer som billedobjekter.
Vælg kortikonet i en billedobjektcelle for at få vist en forhåndsvisning af visualiseringen.
Du kan udtrække et billede til Excel-gitteret på to måder: vise billedet som et afbildning over celler eller vise billedet i en celle.
Vise billedet over celler
Følg disse trin for at få vist billedet som et plot over celler.
-
Højreklik eller Ctrl+klik på den celle, der indeholder billedobjektet, og vælg Vis afbildning over celler i menuen (eller brug tastaturgenvejen Ctrl+Alt+Skift+C). Dette opretter en kopi af billedet, der flyder hen over Excel-gitteret og nemt kan tilpasses. Det oprindelige billedobjekt forbliver i den oprindelige celle.
-
Markér og træk afbildningsbilledet for at flytte det rundt i regnearket. Markér og træk knudepunkterne i hjørnerne og siderne af billedet for at tilpasse størrelsen.
Vise billedet i en celle
Følg disse trin for at få vist billedet i en celle.
-
Returner billedobjektet som en Excel-værdi. Markér billedobjektcellen, gå til menuen Python-output på formellinjen, og vælg Excel-værdi.
Afbildningsbilledet vises nu i cellen.Tip!: Hvis du vil skifte resultaterne af Python-formler mellem Python-objekter og Excel-værdier, skal du bruge tastaturgenvejen Ctrl+Alt+Skift+M. Du kan få mere at vide om tastaturgenveje under Python i Excel-tastaturgenveje.
-
Størrelsen på afbildningsbilledet afhænger af cellens størrelse. Forøg billedets størrelse ved at øge størrelsen på cellen eller ved at flette celler.
Opret dine egne afbildninger og diagrammer
Nu, hvor du har lært at oprette Python i Excel-afbildninger og -diagrammer med et eksempeldatasæt, kan du indsætte dine egne data i en Excel-projektmappe og oprette brugerdefinerede visualiseringer.
Hvis du vil importere eksterne data til brug med Python i Excel, skal du bruge Power Query. Du kan få mere at vide under Brug Power Query til at importere data til Python i Excel.
Brug forskellige skrifttyper til ikke-engelske sprog
Brug excel.FontPathtil diagramdata, der bruger ikke-latinske alfabeter, f.eks. kinesisk, koreansk eller thai. Som standard gengiver Python i Excel ikke-latinske alfabettegn som en tom firkant ('□'). Du kan løse dette problem ved at excel.FontPath giver dig mulighed for at bruge modulet excel til at kalde en anden skrifttype og gengive tegnene.
Følgende skrifttyper er tilgængelige. Attributten føjes til excel.FontPath i din Python-kode. Stien henviser til skrifttypefilen, der kaldes af attributten.
Attribut 2 |
Sti |
---|---|
BENGALSK |
/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 |
JAPANSK |
/usr/share/fonts/Meiryo.ttf |
KOREANSK |
/usr/share/fonts/Batang.ttf |
THAI |
/usr/share/fonts/THSarabunPSK.ttf |
Excel. FontPath-eksempel
Før
Dette diagram kan ikke gengive de korrekte afbildningsnavne, fordi standardskrifttypen ikke understøtter de angivne tegn.
Kodeeksempel på forkert gengivne diagrametiketter:
import matplotlib.pyplot as plt # Make the plot. myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文') # Show the plot. plt.show() |
Efter
Hvis du vil rette diagramnavnene i dette eksempel, skal du bruge excel.FontPath.CHINESE_SIMPLIFIED til at gengive de angivne kinesiske tegn korrekt.
Kodeeksempel på korrekt gengivede diagrametiketter:
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() |