Opprette Python i Excel-plott og -diagrammer
Applies To
Excel for Microsoft 365Python i Excel er nå tilgjengelig for Enterprise- og Business-brukere som kjører Den gjeldende kanalen i Windows, fra og med versjon 2407 (bygg 17830.20128) og Månedskanal for virksomheter i Windows, fra og med versjon 2408 (bygg 17928.20216). Den er tilgjengelig i forhåndsversjon for familie- og personlige brukere som kjører den gjeldende kanalen i Windows, fra og med versjon 2405 (bygg 17628.20164). Python i Excel er tilgjengelig i forhåndsversjon for Education-brukere som kjører Oppdatert kanal (forhåndsversjon) gjennom Microsoft 365 Insider Program. Den er for øyeblikket ikke tilgjengelig for Semi-Annual Enterprise Channel.
Den rulles først ut til Excel for Windows, og deretter til andre plattformer på et senere tidspunkt. Hvis du vil ha mer informasjon om tilgjengelighet, kan du se Python i Excel-tilgjengelighet.
Hvis du støter på problemer med Python i Excel, kan du rapportere dem ved å velge Hjelp > tilbakemelding i Excel.
Er Python i Excel nytt for deg? Start med Innføring i Python i Excel og Kom i gang med Python i Excel.
Bruke Python-biblioteker med åpen kildekode til å opprette plott og diagrammer
Python i Excel leveres med et kjernesett med Python-biblioteker levert av Anaconda. Denne artikkelen beskriver hvordan du bruker Python-biblioteker, for eksempel sjøfødteog matplotlib, til å opprette plott og diagrammer. Hvis du vil lære mer om biblioteker med åpen kildekode som er tilgjengelige med Python i Excel, kan du se biblioteker med åpen kildekode og Python i Excel.
Eksemplene i denne artikkelen bruker Iris-blomsterdatasettet. Last ned denne eksempelarbeidsboken for å følge med i artikkelen: python-in-excel-iris-dataset.xlsx.
Opprett et par tegnetegninger med sjøfødte
Dette eksemplet viser hvordan du oppretter et par tegne visualisering av Iris blomst datasett. Et parplott er en matrise med tegnediagrammer og diagrammer som sammenligner forholdet mellom hver variabel i et datasett. I dette tilfellet inneholder Iris-blomsterdatasettet fire kolonner med numeriske data: sepal_length, sepal_width, petal_length og petal_width.
Python i Excel oppretter visualiseringen med det sjøfødtebiblioteket. Det sjøfødtebiblioteket importeres automatisk for Python i Excel med følgende importsetning, slik at du kan referere til det med aliaset sns.
import seaborn as sns
Hvis du vil opprette en partegning av Iris-blomsterdatasettet med det sjøfødte biblioteket, gjør du følgende:
-
Skriv inn følgende kodesnutt i en Python-celle. Kodesnutten lagrer parplottet som en variabel kalt pairplot. Det skaper parplottet med det sjøfødte bibliotekaliaset sns og den sjøfødte funksjonen pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Som argument for pairplot-funksjonen bruker kodesnutten den egendefinerte Python-funksjonen xl() og refererer til den første tabellen i regnearket, Table1. Den inneholder hele tabellinnholdet (som [#All]), og bemerker at tabellen inneholder en overskriftsrad (som overskrifter=Sann). I dette eksemplet inneholder Tabell1 i regnearket Iris-datasettet.
Obs!: Hvis det oppstår feil, kan du se Feilsøke Python-feil i Excel for mer informasjon.
-
Når du har opprettet Python-formelen, returnerer Python i Excel partegnevisualiseringen i et bildeobjekt. Velg kortikonet i bildeobjektcellen for å se en forhåndsvisning av visualiseringen.
-
Behold visualiseringen som et bildeobjekt for å fortsette å bruke det for Python-beregninger. Trekk ut bildet i Excel-rutenettet for å endre størrelsen på det og vise hvert tegn mer detaljert. Hvis du vil trekke ut bildet til rutenettet, høyreklikker du eller CTRL+klikker på cellen som inneholder bildeobjektet, og velger Vis tegne over celler fra menyen.
Hvis du vil ha mer informasjon om hvordan du trekker ut bildeobjekter, kan du se avsnittet Pakk ut et bildeobjekt i excel-rutenettartikkelen i denne artikkelen.
Opprette et punktdiagram med Matplotlib
Dette eksemplet beskriver hvordan du oppretter et punktdiagram med eksempeldatasettet for Iris-blomst. Et punktdiagram viser forholdet mellom to numeriske variabler i et datasett. Eksemplet oppretter et punktdiagram som ser ut som følgende skjermbilde, og sammenligner sepal_width og sepal_length verdier.
Python i Excel oppretter visualiseringen med matplotlib-biblioteketmed åpen kildekode. Matplotlib-biblioteketimporteres automatisk for Python i Excel med følgende importsetning, slik at du kan referere til det som plt.
import matplotlib.pyplot as plt
Gjør følgende for å opprette en punkttegning av Iris-blomsterdatasettet med Matplotlib-biblioteket:
-
Bruk matplotlib-punktfunksjoneni en Python-celle, og skriv inn sepal_length og sepal_width kolonner i Iris-datasettet som argumenter. I dette eksemplet inneholder Tabell1 i regnearket Iris-datasettet.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Legg til etiketter og en tittel i punkttegningen. # 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')
Obs!: Du kan legge til denne kodesnutten som en ekstra kodelinje etter Python-formelen i forrige trinn, i samme Excel-celle, eller du kan skrive den inn i en ny Python-celle i Excel-cellen i arbeidsboken. Hvis du velger å skrive den inn i en ny celle, må du passe på å følge reglene for de overordnede beregningsrekkefølgene og skrive den inn etter den første cellen.
-
Når du har opprettet Python-formlene, returnerer Python i Excel punkttegningsvisualiseringen som et bildeobjekt. Velg kortikonet i bildeobjektcellen for å se en forhåndsvisning av visualiseringen.
Obs!: Hvis det oppstår feil, kan du se Feilsøke Python-feil i Excel for mer informasjon.
-
Behold visualiseringen som et bildeobjekt for å fortsette å bruke det for Python-beregninger. Trekk ut bildet i Excel-rutenettet for å endre størrelsen på det og vise tegneområdet mer detaljert. Hvis du vil trekke ut bildet til rutenettet, høyreklikker du eller CTRL+klikker på cellen som inneholder bildeobjektet, og velger Vis tegne over celler fra menyen.
Hvis du vil ha mer informasjon om hvordan du trekker ut bildeobjekter, kan du se avsnittet Pakk ut et bildeobjekt i excel-rutenettartikkelen i denne artikkelen.
Trekke ut et bildeobjekt til Excel-rutenettet
Som vist i eksemplene i denne artikkelen, kan Python-biblioteker som sjøfødte og Matplotlib returnere datavisualiseringer til Excel-celler. Som standard returnerer Python i Excel disse visualiseringene som bildeobjekter.
Velg kortikonet i en bildeobjektcelle for å se en forhåndsvisning av visualiseringen.
Det finnes to måter å trekke ut et bilde til Excel-rutenettet på: Vise bildet som et tegn over celler eller vise bildet i en celle.
Vise bildet over celler
Følg disse trinnene for å vise bildet som et tegn over celler.
-
Høyreklikk eller CTRL+klikk på cellen som inneholder bildeobjektet, og velg Vis tegn over celler fra menyen (eller bruk hurtigtasten CTRL+ALT+SKIFT+C). Dette oppretter en kopi av bildet som flyter over Excel-rutenettet og enkelt kan endre størrelsen. Det opprinnelige bildeobjektet forblir i den opprinnelige cellen.
-
Merk og dra tegnebildet for å flytte det rundt i regnearket. Merk og dra nodene i hjørnene og sidene av bildet for å endre størrelsen på det.
Vise bildet i en celle
Følg disse trinnene for å vise bildet i en celle.
-
Returner bildeobjektet som en Excel-verdi. Merk bildeobjektcellen, gå til utdatamenyen for Python på formellinjen, og velg Excel-verdi.
Tegnebildet vises nå i cellen.Tips!: Hvis du vil veksle mellom Python-formelresultater mellom Python-objekter og Excel-verdier, bruker du hurtigtasten CTRL+ALT+SKIFT+M. Hvis du vil ha mer informasjon om hurtigtaster, kan du se Python i Excel-hurtigtaster.
-
Størrelsen på tegnebildet avhenger av størrelsen på cellen. Øk størrelsen på bildet ved å øke størrelsen på cellen eller ved å slå sammen celler.
Opprette egne plott og diagrammer
Nå som du har lært hvordan du oppretter Python i Excel-tegn og -diagrammer med et eksempeldatasett, skriver du inn dine egne data i en Excel-arbeidsbok og oppretter egendefinerte visualiseringer.
Hvis du vil importere eksterne data for bruk med Python i Excel, kan du bruke Power Query. Hvis du vil ha mer informasjon, kan du se Bruke Power Query til å importere data for Python i Excel.
Bruke forskjellige skrifter for språk som ikke er engelske
Hvis du vil lage et diagram over data som bruker ikke-latinske alfabettegn, for eksempel kinesisk, koreansk eller thai, bruker du excel.FontPath. Som standard gjengir Python i Excel ikke-latinske alfabettegn som en tom firkant ('□'). Hvis du vil løse dette problemet, kan du excel.FontPath bruke excel modulen til å kalle en annen skrift og gjengi tegnene.
Følgende skrifter er tilgjengelige. Attributtet legges til i excel.FontPath i Python-koden. Banen refererer til skriftfilen som kalles av attributtet.
Attributt |
Bane |
---|---|
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 |
JAPANSK |
/usr/share/fonts/Meiryo.ttf |
KOREANSK |
/usr/share/fonts/Batang.ttf |
THAI |
/usr/share/fonts/THSarabunPSK.ttf |
overgå. Eksempel på FontPath
Før
Dette diagrammet kan ikke gjengi de riktige tegneetikettene fordi standardskriften ikke støtter de angitte tegnene.
Kodeeksempel for feil gjengitte 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() |
Etter
Hvis du vil rette diagrametikettene i dette eksemplet, kan du bruke excel.FontPath.CHINESE_SIMPLIFIED til å gjengi de angitte kinesiske tegnene på riktig måte.
Kodeeksempel for diagrametiketter som er riktig gjengitt:
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() |