Skapa ritar och diagram med Python i Excel
Applies To
Excel för Microsoft 365Python i Excel är nu tillgängligt för företagsanvändare som kör den aktuella kanalen i Windows, från och med version 2408 (version 17928.20114) och Månadskanal för företag i Windows, med början från version 2408 (version 17928.20216). Den är tillgänglig som förhandsversion för familjeanvändare och personliga användare som kör den aktuella kanalen i Windows från och med version 2405 (version 17628.20164). Python i Excel är tillgängligt som förhandsversion för Utbildningsanvändare som kör Den aktuella kanalen (förhandsversion) via Microsoft 365 Insider Program. Den är för närvarande inte tillgänglig för Semi-Annual Enterprise-kanalen.
Den lanseras först i Excel för Windows och sedan till andra plattformar vid ett senare tillfälle. Mer information om tillgänglighet finns i Python i Excel-tillgänglighet.
Om du stöter på problem med Python i Excel kan du rapportera dem genom att välja Hjälp > Feedback i Excel.
Är Python nytt för Excel? Börja med Introduktion till Python i Excel och Kom igång med Python i Excel.
Använda Python-bibliotek med öppen källkod för att skapa tomter och diagram
Python i Excel levereras med en uppsättning Python-bibliotek som tillhandahålls av Anaconda. I den här artikeln beskrivs hur du använder Python-bibliotek, till exempel sjöföddaoch Matplotlib, för att skapa tomter och diagram. Mer information om bibliotek med öppen källkod som är tillgängliga med Python i Excel finns i Bibliotek med öppen källkod och Python i Excel.
I exemplen i den här artikeln används datauppsättningen Irisblomma. Ladda ned den här exempelarbetsboken som du vill följa tillsammans med artikeln: python-in-excel-iris-dataset.xlsx.
Skapa en parritning med sjöfödd
Det här exemplet visar hur du skapar ett pardiagramvisualisering av datauppsättningen Iris blomma. Ett pardiagram är en matris med diagram som jämför förhållandet mellan varje variabel i en datamängd. I det här fallet innehåller datauppsättningen Irisblomma fyra kolumner med numeriska data: sepal_length, sepal_width, petal_length och petal_width.
Python i Excel skapar visualiseringen med det sjöföddabiblioteket. Det sjöföddabiblioteket importeras automatiskt till Python i Excel med följande importuttalande, så att du kan referera till det med aliassn.
import seaborn as sns
Så här skapar du en parritning av Iris-blomdatauppsättningen med det sjöfödda biblioteket:
-
Ange följande kodavsnitt i en Python i Excel-cell. Kodavsnittet lagrar pardiagrammet som en variabel som kallas parplot. Det skapar paret tomt med sjöfödda bibliotek alias sns och seaborn funktion pairplot. pairplot = sns.pairplot(xl("Table1[#All]", headers=True)) Som argument för parplotfunktionen använder kodavsnittet den anpassade Python-funktionen xl() och refererar till den första tabellen i kalkylbladet, Tabell1. Den innehåller hela tabellinnehållet (som [#All]) och anteckningar om att tabellen innehåller en rubrikrad (som rubriker=Sant). I det här exemplet innehåller Tabell1 i kalkylbladet Iris-datauppsättningen.
Obs!: Om du stöter på fel finns mer information i Felsöka Python i Excel .
-
När du har sparat pythonformeln returnerar Python i Excel pardiagramvisualiseringen i ett bildobjekt. Välj kortikonen i bildobjektcellen för att se en förhandsgranskning av visualiseringen.
-
Behåll visualiseringen som ett Image-objekt om du vill fortsätta använda det för Python-beräkningar. Extrahera bilden till Excel-rutnätet för att ändra storlek på den och visa varje diagram mer i detalj. Om du vill extrahera bilden till rutnätet högerklickar du eller Ctrl+klickar på cellen som innehåller bildobjektet och väljer Visa ritobjekt över celler på menyn.
Mer information om hur du extraherar bildobjekt finns i avsnittet Extrahera ett bildobjekt till Excel-rutnätsartikeln i den här artikeln.
Skapa ett punktdiagram med Matplotlib
I det här exemplet beskrivs hur du skapar ett punktdiagram med datamängden Iris-blomma. Ett punktdiagram visar förhållandet mellan två numeriska variabler i en datamängd. I exemplet skapas ett punktdiagram som ser ut som följande skärmbild och jämför värdena för sepal_width och sepal_length .
Python i Excel skapar visualiseringen med det öppna källbiblioteket Matplotlib. Matplotlib-biblioteketimporteras automatiskt till Python i Excel med följande importuttalande, så att du kan referera till det som plt.
import matplotlib.pyplot as plt
Så här skapar du ett punktdiagram av datauppsättningen Iris blomma med Matplotlib-biblioteket:
-
I en Python i Excel-cell använder du punktfunktionenMatplotlib och anger kolumnerna sepal_length och sepal_width i Iris-datauppsättningen som argument. I det här exemplet innehåller Tabell1 i kalkylbladet Iris-datauppsättningen.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))
-
Lägg till etiketter och en rubrik i punktdiagrammet. # 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 lägga till det här kodavsnittet som en extra kodrad efter Python-formeln i föregående steg, i samma Excel-cell, eller så kan du ange det i en ny Python i Excel-cell i arbetsboken. Om du väljer att ange den i en ny cell ska du se till att följa reglerna för beräkningsordningen för radhuvuden och ange den efter den första cellen.
-
När du har sparat pythonformler returnerar Python i Excel punktdiagramvisualiseringen som ett bildobjekt. Välj kortikonen i bildobjektcellen för att se en förhandsgranskning av visualiseringen.
Obs!: Om du stöter på fel finns mer information i Felsöka Python i Excel .
-
Behåll visualiseringen som ett bildobjekt för att fortsätta använda den för Python-beräkningar. Extrahera bilden till Excel-rutnätet för att ändra storlek på den och visa ritningen mer i detalj. Om du vill extrahera bilden till rutnätet högerklickar du eller Ctrl+klickar på cellen som innehåller bildobjektet och väljer Visa ritobjekt över celler på menyn.
Mer information om hur du extraherar bildobjekt finns i avsnittet Extrahera ett bildobjekt till Excel-rutnätsartikeln i den här artikeln.
Extrahera ett bildobjekt till Excel-rutnätet
Som framgår av exemplen i den här artikeln kan Python-bibliotek som seaborn och Matplotlib returnera datavisualiseringar till Excel-celler. Som standard returnerar Python i Excel dessa visualiseringar som bildobjekt.
Välj kortikonen i en bildobjektcell för att se en förhandsgranskning av visualiseringen.
Det finns två sätt att extrahera en bild till Excel-rutnätet: visa bilden som ett rityta över celler eller visa bilden i en cell.
Visa bilden över celler
Följ de här anvisningarna om du vill visa bilden som ett diagram över celler.
-
Högerklicka eller Ctrl+klicka på cellen som innehåller bildobjektet och välj Visa rita över celler på menyn (eller använd kortkommandot Ctrl+Alt+Skift+C). Då skapas en kopia av bilden som flyter över Excel-rutnätet och kan storleksändras enkelt. Det ursprungliga bildobjektet finns kvar i den ursprungliga cellen.
-
Markera och dra ritytan för att flytta runt den i kalkylbladet. Markera och dra noderna i hörnen och på bildens sidor för att ändra storlek på den.
Visa bilden i en cell
Följ de här anvisningarna för att visa bilden i en cell.
-
Returnera bildobjektet som ett Excel-värde. Markera bildobjektcellen, gå till Python-utdatamenyn i formelfältet och välj Excel-värde.
Ritytans bild visas nu i cellen.Tips: Om du vill växla pythonformelresultat mellan Python-objekt och Excel-värden använder du kortkommandot Ctrl+Alt+Skift+M. Mer information om kortkommandon finns i Python i Excel kortkommandon.
-
Ritytans storlek beror på cellens storlek. Öka storleken på bilden genom att öka cellens storlek eller genom att sammanfoga celler.
Använda olika teckensnitt för icke-engelska språk
Om du vill illustrera data som använder icke-latinska alfabetstecken, till exempel kinesiska, koreanska eller thailändska, använder du excel.FontPath. Som standard återger Python i Excel icke-latinska alfabetiska tecken som en tom fyrkant ("□"). För att lösa detta kan du excel.FontPath använda excel modulen för att anropa ett annat teckensnitt och återge tecknen.
Följande teckensnitt är tillgängliga. Attributet läggs till i excel.FontPath i Python-koden. Sökvägen refererar till teckensnittsfilen som anropas av attributet.
Attribut |
Sökväg |
---|---|
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 |
JAPANSKA |
/usr/share/fonts/Meiryo.ttf |
KOREANSKA |
/usr/share/fonts/Batang.ttf |
THAI |
/usr/share/fonts/THSarabunPSK.ttf |
Använd Excel. FontPath för att visa förenklade kinesiska ritningsetiketter
Följande skärmbild visar ett diagram med ritade etiketter med förenklade kinesiska tecken med excel.FontPath. Kodexemplet efter skärmbilden visar hur du använder excel.FontPath.CHINESE_SIMPLIFIED för att visa tecken från det förenklade kinesiska biblioteket.
Kodexempel med excel. FontPath
Det här kodexemplet visar hur du använder excel.FontPath.CHINESE_SIMPLIFIED för att generera ritningen och de förenklade kinesiska tecknen i ritningsetiketterna som visas i föregående skärmbild.
-
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()